我试图在Ruby中设置我的DOS环境变量,并在脚本退出后保持它.例如,如果我想要一个ruby脚本set_abc_env.rb将环境变量'ABC'设置为'blah',我希望运行以下命令:
C:> echo %ABC%
C:> set_abc_env.rb
C:> echo %ABC% blah
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
可能重复:
在Ruby中导出环境变量
我需要从ruby脚本中设置几个环境属性.
通常,在bash中,我执行以下操作:
$ export SOME_VAR=some_value
Run Code Online (Sandbox Code Playgroud)
但在红宝石中,以下(显然)不起作用:
irb(main):002:0> `export SOME_VAR=some_value`
(irb):2: command not found: export ASDF=1
=> ""
Run Code Online (Sandbox Code Playgroud)
有办法吗?
我的 shell 脚本将触发 fastlane 操作 (ruby),我需要将一些值返回给 shell 脚本
到处都建议的一种选择是将其设置为环境变量。但无法在 shell 脚本中打印该值。
快车道行动
platform :ios do
desc "Description of what the lane does"
lane :getData do
ENV['FL_VALUE'] = "Test"
end
end
Run Code Online (Sandbox Code Playgroud)
shell 脚本示例
!/bin/sh
...
bundle exec fastlane getData
...
echo $FL_VALUE
Run Code Online (Sandbox Code Playgroud)
其他建议是将数据写入某个文件并从 shell 脚本中读取。但更喜欢使用 env 变量。