ako*_*nsu 4 ruby shell scripting
如何将环境变量传递给我使用Kernel#system
et al 执行的shell命令?
说,我想跑
%x{git checkout -f}
Run Code Online (Sandbox Code Playgroud)
但是这个命令依赖于环境变量$GIT_WORK_TREE
.我该怎么设置呢?
您应该能够在ENV
调用子shell之前在Ruby的哈希中设置变量:
ENV['GIT_WORK_TREE'] = 'foo'
`echo $GIT_WORK_TREE`
Run Code Online (Sandbox Code Playgroud)
应该返回"foo".
有关ENV[]=
更多信息,请参阅文档.
[1] (pry) main: 0> ENV['GIT_WORK_TREE'] = 'foo' "foo" [2] (pry) main: 0> `echo $GIT_WORK_TREE` "foo\n"