2016-08-19 4 views
0

シェフレシピでは、bashコマンドを使用してenv変数を設定します。シェフがUbuntuでbashコマンドを2回実行しないようにする14.04

bash 'setup_env' do 
code <<-EOH 
    echo #{node['foo']} | sudo tee --append /etc/environment 
    echo #{node['bar} | sudo tee --append /etc/environment 
    for line in $(cat /etc/environment) ; do export $line ; done 
    EOH 
end 

これがfooを書き、私は実行するたびに放浪規定

を/ etc/environmentファイルはこのように終わるを/ etc/environmentにバーます:

foo="foo" 
bar="bar" 
foo="foo" 
bar="bar" 

シェフでこのbashコマンドが複数回実行されないようにする方法はありますか?

+0

「シェフレシピ」WHAT? –

答えて

0

マークは選択肢が存在すると指摘して正しいですがより詳細な答えは、あなたが持っているものが "冪等"ではないということです。シェフは毎回実行中にそのスクリプトを実行します。あなたはそれに対して保護されていないので、同じ値が繰り返し追加されます。ファイルの内容を偶発的に管理するために、templatefileのリソースを提供しています。

関連する問題