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

vagrant and chef: how set Ubuntu environment variable?

使用 Chef 11.4,我试图让 vagrant up 设置环境变量。具体来说,就是设置虚拟机时区的 TZ 环境变量。

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

但是我不知道如何在 Vagrantfile 中使 运行 export TZ=America/Los_Angeles 有效,所以当我 运行 vagrant up

时它会执行

我已经尝试了 3 种不同的方法,包括尝试将其写入 .profile 文件。 None 他们的工作。 (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.