Sử dụng sed: Nó sẽ chèn vào cuối dòng. Tất nhiên bạn cũng có thể chuyển các biến như bình thường.
grep -qxF "port=9033" $light.conf
if [ $? -ne 0 ]; then
sed -i "$ a port=9033" $light.conf
else
echo "port=9033 already added"
fi
Sử dụng oneliner sed
grep -qxF "port=9033" $lightconf || sed -i "$ a port=9033" $lightconf
Sử dụng echo có thể không hoạt động dưới quyền root, nhưng sẽ hoạt động như thế này. Nhưng nó sẽ không cho phép bạn tự động hóa mọi thứ nếu bạn đang muốn làm điều đó vì nó có thể yêu cầu mật khẩu.
Tôi đã gặp sự cố khi cố gắng chỉnh sửa từ thư mục gốc cho một người dùng cụ thể. Chỉ cần thêm $username
trước đó là một sửa chữa cho tôi.
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
có thể là một lựa chọn tốt (nhưng chưa phải cho lighthttpd)