ENV[-6ren">
gpt4 book ai didi

ruby - Vagrantfile:如何传递带有未转义美元符号的主机环境变量?

转载 作者:数据小太阳 更新时间:2023-10-29 08:56:11 25 4
gpt4 key购买 nike

如果我在 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 而不是 $之后

如何在 Vagrantfile 中解决这个问题?

最佳答案

在@matt-schuchard 的提示下,我在 Vagrantfile 的顶部添加了这个:

require 'shellwords'

改变了

env: {"MY_VARIABLE"=>ENV['CONTAINS_A_DOLLAR_SIGN']}

env: {"MY_VARIABLE"=>Shellwords.escape(ENV['CONTAINS_A_DOLLAR_SIGN'])}

现在 vagrant up 输出 before$after 而不仅仅是 before!

关于ruby - Vagrantfile:如何传递带有未转义美元符号的主机环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57223572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com