2

プログラム/etc/rc.confで構成ファイルを更新する最良の方法は何ですか?

具体的には、arch Linux マシンで、プログラムで更新できるようにしたい

DAEMONS=(syslog-ng network sshd ntpd netfs crond)

DAEMONS=(syslog-ng network sshd ntpd netfs crond postgresql)

を介してpostgresqlが正常にインストールされた後pacman

次のような関数を作成できると思います。

line="DAEMONS=(syslog-ng network sshd ntpd netfs crond)"

sed -i "/${line}/ s/)/ postgresql)/" /etc/rc.conf

特にこのpostgresqlシナリオを処理するために。

ただし、さらに一歩進んで、ファイルのパラメーターに私のサービス (など、またはタスクサーバーなど) をプログラムで含めるより一般的な方法(お勧めできるライブラリがある場合はライブラリを使用) はありますか?memcachedzeromqDAEMONS/etc/rc.conf

4

1 に答える 1

1

一般的な方法については知りませんが(シェルコードの解析と変更を行うツールはほとんどないようです)、このような単純な配列を更新する1つの方法は、実際にそれを読み取り、変更してから行全体を書き戻す - 次のようなもの:

source /etc/rc.conf
DAEMONS+=(postgresql)
sed -i -e s/'^DAEMONS=.*'/"DAEMONS=(${DAEMONS[@]})"/ /etc/rc.conf
于 2012-04-24T07:56:34.727 に答える