Я пытаюсь найти и заменить переменными, но это не сработает.найти и заменить на переменные
Вот код. Мне нужно добавить -C -w 10% -c 5% -p /u0
для добавления в конец соответствующей строки. Я не знаю, как подавить (-) любые идеи? Спасибо.
OLD=$(command[check_disk]=/usr/local/nagios/libexec/check_disk -w 10% -c 5% -p/-p /var -p /tmp -p /home -p /boot -p /usr -A -e)
NEW=$(command[check_disk]=/usr/local/nagios/libexec/check_disk -w 10% -c 5% -p/-p /var -p /tmp -p /home -p /boot -p /usr -A -e -C -w 10% -c 5% -p /u0)
sed -i "s/$OLD/$NEW/" /home/scripts/nrpe.cfg
Непонятно, что вы спрашиваете. Ваши команды 'OLD = $ (...)' и 'NEW = $ (...)' не могут работать, потому что они будут рассматривать 'command [check_disk] =/usr/local/nagios/libexec/check_disk' переменную среды а затем попытается выполнить команду '-w ...' как команду.) – mklement0
Мне просто нужно заменить переменную «old» «новой» одной строкой на другую. Спасибо – pirulo
Поскольку команды внутри '$ (...)' неизменно терпят неудачу, как '$ OLD', так и' $ NEW' будут _empty_, когда ваша команда 'sed' будет достигнута (если только' set -e' не действует, в этом случае сценарий будет отменен после команды «OLD = ...»). – mklement0