如何将环境变量传递给我使用 Kernel#system
等执行的 shell 命令?
说,我想跑
%x{git checkout -f}
但是这个命令依赖于环境变量$GIT_WORK_TREE
。怎么设置?
最佳答案
在调用子 shell 之前,您应该能够在 Ruby 的 ENV
散列中设置变量:
ENV['GIT_WORK_TREE'] = 'foo'
`echo $GIT_WORK_TREE`
应该返回“foo”。
参见 ENV[]=
文档以获取更多信息。
[1] (pry) main: 0> ENV['GIT_WORK_TREE'] = 'foo' "foo" [2] (pry) main: 0> `echo $GIT_WORK_TREE` "foo\n"
关于ruby - 需要为反引号命令设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16127817/