ファイルとの間で設定を読み書きするシェル スクリプトを使用して、Linux で構成ファイルを管理する必要がありcfg
ます。スクリプトで使用される既存の構成ファイルに新しいvalue
aを書き込む次の関数があります。key
set_setting() {
sed -i "s/$1=[^ ]*/$1=$2/" $3
}
使用法:
set_setting keyname NewValue /home/Config.cfg
したがって、これはkeyname
inの値をConfig.cfg
に置き換えますNewValue
。
コマンドをget_setting
使用して構成ファイルを読み取る機能もあります。source
同様に、2 つのパラメーターkeyname
とソース構成ファイルを受け取りvalue
、提供されたキーの を返します。
問題は、次のような構成ファイルがあることです。
name=Abc
surname=Xyz
そして、set_setting
関数を as として呼び出すとset_setting name Def /home/Config.cfg
、理想的には の値をname
からAbc
に変更する必要Def
がありますが、 key の値を変更するとともにname
、 の値もsurname
からXyz
に変更し、Def
構成ファイルで次のようになります。
name=Def
surname=Def
これは、キーsurname
をに変更したときにsurnames
期待どおりに機能し、 の値のみname
が変更されたため、両方のキーで「名前」という用語が共通しているためだと思われます。また、キーの値はスペース以外であれば何でもよいことに注意してください。
私はシェルスクリプトが初めてで、最近発見されたsed
コマンドです。