2016-08-19 86 views
0

在Chef食譜中,我使用bash命令來設置env變量。防止廚師在Ubuntu中運行兩次bash命令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 /環境文件結束這樣的時間扎入的/ etc /環境

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

有沒有一種方法可以防止這個bash命令在Chef中運行多次?

+0

'廚師食譜'什麼? –

回答

0

雖然馬克是正確地指出有替代品,在更詳細的答案是,你有什麼不是「冪等」。廚師每次運行時都會運行這段腳本,並且由於您沒有對它的保護,所以相同的值會一遍又一遍地被附加。我們提供templatefile資源以冪等方式管理文件內容。