背景
/etc/default/hostapd
次の文字列を取得し、その後に値を追加したいと思います=
。
#DAEMON_CONF=""
->DAEMON_CONF="/etc/hostapd/hostapd.conf"
テスト
un_comment_and_add_value() {
file="$1"
given_str="$2" ##DAEMON_CONF=""
value="$3" # /etc/hostapd/hostapd.conf
#dont know where to put this in the 'sed' cmd
sed -i "/$given_str/s/^#//g" "$file"
}
un_comment_and_add_value "/etc/default/hostapd" "#DAEMON_CONF=\"\"" "/etc/default/hostapd"
ベストアンサー1
与えられた例では、以下を試してください。
sed -i "/^$given_str/{s/.//; s|.$|$value\"|}" "$file"
- 変数の補間を許可するには、二重引用符を使用してください。
/^$given_str/
与えられた文字列が行の先頭に一致する場合s/.//
最初の文字を削除s|.$|$value\"|
最後の文字を与えられた代替文字列と二重引用符で置き換えます。
追加資料: