Используя sed: он будет вставлен в конце строки. Вы также можете передать переменные, как обычно, конечно.
grep -qxF "port=9033" $light.conf
if [ $? -ne 0 ]; then
sed -i "$ a port=9033" $light.conf
else
echo "port=9033 already added"
fi
Использование oneliner sed
grep -qxF "port=9033" $lightconf || sed -i "$ a port=9033" $lightconf
Использование echo может не работать под root, но будет работать так. Но это не позволит вам автоматизировать процесс, если вы захотите это сделать, поскольку он может запросить пароль.
У меня была проблема, когда я пытался редактировать из корня для конкретного пользователя. Просто добавление $username
предыдущего было исправлением для меня.
grep -qxF "port=9033" light.conf
if [ $? -ne 0 ]; then
sudo -u $user_name echo "port=9033" >> light.conf
else
echo "already there"
fi
crudini
может быть хорошим вариантом (но пока не для lighthttpd)