如何使用chef recipe更改默认环境变量

时间:2016-05-04 09:28:47

标签: chef

我希望使用厨师食谱更改默认环境变量时遇到问题。我的要求是更改当前的工作shell(从bashcsh)并将TERM变量从xterm更改为vt100。我尝试了一些组合,但它不起作用。

execute 'change present working shell' do
  command '/bin/csh'
end

execute 'change term env' do
  command 'setenv TERM vt100'
end

还尝试使用脚本从厨师运行,但它也无法正常工作。

2 个答案:

答案 0 :(得分:0)

假设您正在运行Linux系统,您可以在/etc/environment

中全局定义环境变量

写出file的最简单方法如下:

file "/etc/environment" do
  content "TERM=vt100"
  mode "0644"
end

用户的shell在每个用户级别的/etc/passwd中指定。对于给定的(现有)用户johndoe,您可以使用user资源:

user "johndoe" do
  shell "/bin/csh"
  action :manage
end

为了更改之后创建的用户的默认shell,IIRC有特定于发行版的选项(请参阅this thread)。

答案 1 :(得分:0)

谢谢..

从当前shell注销并再次登录后工作..但我希望这在当前shell上有效,并且不希望从当前工作shell注销。