@wergio
Задача сделать кнопку на сайте, которая будет отправлять команду на сервер для смены параметра user: ‘0’ в config.yml файле. Сайт естественно работает на PHP, а команды отправляются с помощью модуля ssh2.
Если напрямую в терминале написать, всё работает как нужно:sed -i -e "s/user:.*/user: '1'/g" /config.yml;
Результат: user: ‘1’
А если кнопкой через сайт, то значение параметра приходит без кавычек.
<?php
api::ssh2('sed -i -e "s/user:.*/user: '1'/g" /config.yml;');
?>
Результат: user: 1
Решения вопроса 0
Ответы на вопрос 2
@Zerg89
<?php
api::ssh2('sed -i -e "s/user:.*/user: \'1\'/g" /config.yml;');
?>
@shambler81
Писал тут по поводу седа и как в нем можно обходиться без эти символов вообще
https://klondike-studio.ru/blog/sed-spetssimvoly/
Так же не забывайте что можно всю эту лабуду прогонять через eval
дабы избежать путаницы в баше с ковычками.
Вот пример для «встарых паролей которые могут содержатьлюбые спецсимволы»
https://klondike-studio.ru/blog/sed-spetssimvoly/
Так же не забывайте что можно всю эту лабуду прогонять через eval
дабы избежать путаницы в баше с ковычками.
Вот пример для «встарых паролей которые могут содержатьлюбые спецсимволы»
eval "$(echo "mysqldump --no-tablespaces -u$DBLOGIN -p'$DBPASS'....