在颠沛流离的文件Shell环境变量仅通过先达

问题描述:

我跑流浪1.8.5,它在使用的格式像这样在颠沛流离的文件Shell环境变量仅通过先达

config.vm.provision配置时间支持environment variables in the Vagrantfile上:外壳,路径“bootstrap.sh”,ENV: { “MYSQL_DB_USERNAME”=> “的Django”, “MYSQL_DB_PASSWORD”=> “supersecretpasswordwasreplaced”}

不过,我想这些环境变量也可当我如果没有配置,或者当我使用SSH,请执行up进入服务器做工作。最明显的方法,我能看到的是

  • 将它们建立成箱(似乎是矫枉过正)或
  • repeat themconfig.ssh.forward_env,使他们可向供应方和SSH。

有没有更好的方法?

我不确定最好的最终方式 - 我已经看到这个问题不时出现并讨论。

在我的config.ssh.forward_env中重复它们,以使它们可用于预配置器和SSH。

好,这可能听起来像一个很好的解决方案,但有一些缺点,我已经讨论in this question already

个人的时候,我需要设置环境变量,我想补充他们在.profile文件:

config.vm.provision "shell", privileged: false, inline: <<-SHELL 
    echo "export MYSQL_DB_USERNAME = django" > /home/vagrant/.profile 
    echo "export MYSQL_DB_PASSWORD = supersecretpasswordwasreplaced" > /home/vagrant/.profile 
    SHELL 

它们将在您登录时可用。

+0

无论什么原因,我也使用Vagrant 1.8.5,无论如何,将字符串附加到文件不起作用:( –

+0

@JeandersonBarrosCândido这很奇怪,我不认为它与流浪有关,但可能会如果你ssh进入箱子并运行命令,它是否工作? –

+1

是的......我刚刚摧毁了我的流浪箱并重新创建了它......显然我忘了重新运行流浪汉条款;) –