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
इको का उपयोग रूट के तहत काम नहीं कर सकता है, लेकिन इस तरह काम करेगा। लेकिन यह आपको चीजों को स्वचालित करने की अनुमति नहीं देगा यदि आप इसे करना चाहते हैं क्योंकि यह पासवर्ड मांग सकता है।
मुझे एक समस्या थी जब मैं किसी विशेष उपयोगकर्ता के लिए रूट से संपादित करने की कोशिश कर रहा था। बस $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 के लिए नहीं)