vagrant和chef:如何设置Ubuntu环境变量?

时间:2015-04-11 02:07:48

标签: vagrant chef

使用Chef 11.4,我试图让vagrant up设置一个环境变量。具体来说,TZ env变量设置VM的时区。

手动工作正常,如果我vagrant ssh然后输入export TZ=America/Los_Angeles,然后输入date我看到西海岸时区的时间(而不是ubuntu的默认UTC)。

但我无法弄清楚如何在Vagrantfile中有效运行export TZ=America/Los_Angeles,以便在我运行vagrant up

时执行

我尝试了3种不同的方式,包括尝试将其写入.profile文件。他们都没有工作。 (未编辑该文件,并且未设置TZ变量。

config.vm.provision :shell, inline: %q{export TZ=America/Los_Angeles}
config.vm.provision :shell, inline: %q{sudo bash -c "export TZ=America/Phoenix" >> ~/.profile}
config.vm.provision :shell, inline: %q{echo "export TZ=America/New_york" >> ~/.profile}

运行vagrant up后的输出是:

==> default: Running provisioner: shell...
    default: Running: inline script
==> default: stdin: is not a tty
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: stdin: is not a tty
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: stdin: is not a tty

但环境变量没有直接设置,.profile fiel也没有被编辑

1 个答案:

答案 0 :(得分:0)

答案是双重的...文件应该在.bashrc文件中(至少对于我使用的Linux而言),而不是~必须使用完整路径是/home/vagrant/.bashrc