【发布时间】:2019-12-05 00:10:25
【问题描述】:
如果我在适当的位置向Vagrantfile 添加这样的内容:
vm.provision "shell",
path: "my_node.sh",
env: {"MY_VARIABLE"=>ENV['CONTAINS_A_DOLLAR_SIGN']}
在我的my_node.sh 中添加:
echo "$MY_VARIABLE"
如果我的CONTAINS_A_DOLLAR_SIGN 环境变量是before$after 我的vagrant up 输出将包含before 但不包含$after。
如何在Vagrantfile 中解决此问题?
【问题讨论】:
-
是否将环境变量写为
before\$after一个选项? -
这可能是 Ruby 解释器或 shell 解释器将
$after解析为具有nil或null值的变量,两者都转换为字符串为empty。您可以将此值显式设置为文字字符串并由解释器进行块插值吗?添加 Ruby 标签以防根本原因是 MRI。 -
环境变量的值不能改,所以我说不。
标签: ruby bash vagrant vagrantfile vagrant-windows