Використання 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 може не працювати під коренем, але працюватиме так. Але це не дозволить вам автоматизувати речі, якщо ви хочете це зробити, оскільки це може попросити пароль.
У мене виникла проблема, коли я намагався редагувати з кореня певного користувача. Тільки додавання $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)