使用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
而不是~
。