「.backup.conf」という名前の構成ファイルを変更するシェルスクリプトで問題が発生しています。
構成ファイルは次のようになります。
inputdirs=(/etc /etc/apm /usr/local)
outputdir="test_outputdir"
backupmethod="test_outputmethod"
loglocation="test_loglocation"`
私のスクリプトは構成ファイル変数の1つを変更する必要があり、最後の3つの変数に問題はありませんでした。
変数"inputdirs"/etc/を/etc/ perlに変更したい場合、どの式を使用すればよいですか?
エコーを追加で使用すると、ファイルの最後にのみ追加されます。
次の形式でsedを使用してみました。
sed -i 's/${inputdirs[$((izbor-1))]}/$novi/g' .backup.conf
ここで、「izbor」はinputdirsから変更する変数であり、「novi」は新しいパス(/ etc / perlなど)です。
したがって、次の構成ファイルを使用し、変数を使用すると、最初の変数をに変更する必要が$izbor=1
あり
、変数inputdirsは最終的に次のようになります。$novi=/etc/perl
inputdirs=/etc
/etc/perl
inputdirs=(/etc/perl /etc/apm /usr/local)
ご協力ありがとうございました!