我的Vagrantfile中有以下行:
config.vm.provision :shell, path: "provisioning/myscript.sh"
我想根据在主机中设置的环境变量(可能不存在)来切换运行该脚本。如果该值存在并且等于true
我希望跳过该脚本,否则它应该运行,例如。
if [ ENV[SKIP_MY_SCRIPT] != 'true' ]
config.vm.provision :shell, path: "provisioning/myscript.sh"
end
或者有更好的方法(例如以某种方式将env传递到脚本中)?
答案 0 :(得分:0)
由于Vagrantfile主要是ruby脚本,因此在文件中包含条件语句并不错。
要回答具体问题如何将主机环境变量传递到配置脚本(可以帮助其他用例),您可以传递参数,如
username = `whoami`.chomp
config.vm.provision "shell", privileged: false, path: "provisioning/config-git.sh", args: "#{username}"
并在您的脚本中,您将其读作
#!/usr/bin/env bash
username=$1