流浪汉和厨师:如何设置Ubuntu环境变量



使用Chef 11.4,我试图让vagrant up设置一个环境变量。特别是设置虚拟机时区的TZ-env变量。

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

但我不知道如何在Vagrantfile中有效地运行export TZ=America/Los_Angeles,所以当我运行vagrant up时它会执行

我已经尝试了三种不同的方法,包括尝试将其写入.profile文件。它们都不起作用。(没有编辑e.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字段也不会编辑

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

最新更新