0

次の行を実行する必要があります。

execute "hostname -f >> /etc/mail/local-host-names" do command "hostname -f >> /etc/mail/local-host-names" end

ホスト名がファイルに既に存在し、コマンドがファイルにホスト名を再度追加してはならない場合に備えて、条件を追加したいと思います。

/etc/mail/local-host-names には他のホスト名が含まれている可能性があり、上書きは解決策ではありません。

ありがとうございました!

4

1 に答える 1

0

bash スクリプトと grep コマンドを使用する必要があります。grep コマンドは、名前が見つかった場合は 0 を返し、見つからない場合は 1 を返します。(# は bash でコメントを宣言します)。さらに、変数 $HOSTNAME を、毎回検索したい目的のホスト名に設定する必要があります。

#!bin/sh


if grep -Fxq "$HOSTNAME" /etc/mail/local-host-names
then
    # execute "hostname -f >> /etc/mail/local-host-names" do command "hostname -f >> /etc/mail/local-host-names" end
else
    #do nothing?
fi
于 2014-06-19T08:57:26.940 に答える