如果我在适当的位置将这样的内容添加到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
中解决此问题?
答案 0 :(得分:2)
在@ matt-schuchard的提示下,我将其添加到Vagrantfile的顶部:
需要“ shellwords”
并更改
env:{“ MY_VARIABLE” => ENV ['CONTAINS_A_DOLLAR_SIGN']}
到
env:{“ MY_VARIABLE” => Shellwords.escape(ENV ['CONTAINS_A_DOLLAR_SIGN'])}
现在vagrant up
输出before$after
不仅是before
!