我面臨的問題,而要使用廚師食譜來更改默認的環境變量。我的要求是將當前的工作shell(從bash
更改爲csh
),並將TERM
變量從xterm
更改爲vt100
。我嘗試了一些組合,但它不工作。如何使用廚師食譜來更改默認的環境變量
execute 'change present working shell' do
command '/bin/csh'
end
execute 'change term env' do
command 'setenv TERM vt100'
end
也嘗試使用腳本從廚師運行,但它也不工作。
雖然這是正確的答案,但值得注意的是'/ etc/environment'及其朋友是來自全局的_far_。它們通常只適用於登錄shell,這對'$ TERM'來說很好,但總是記得它實際上不是全局的。它們不適用於諸如服務之類的東西(通常),也不適用於通過SSH運行而不使用shell的命令。 – coderanger
感謝您的信息。任何方式來定義一個真正的_global_環境變量?沒有這個需要,但是不確定,如果'/ etc/default/'這樣的東西不是一個更好的地方..只是爲了好奇。 –
StephenKing
不,不幸的是,這是Windows爲數不多的地方之一,Unix做錯了。 env vars設置的唯一方法是調用'setenv()'(這是那些shell初始化文件在低級別執行的操作),或者從父進程繼承。沒有一個地方可以設置真正的全球環境變量,除非你寫自己的init,我猜想:) – coderanger