gpt4 book ai didi

在 Windows 中使用环境变量调用 Ruby 系统

转载 作者:可可西里 更新时间:2023-11-01 10:04:09 25 4
gpt4 key购买 nike

在 ruby​​ 脚本中调用它的 Windows 机器上执行命令之前,我需要设置一些环境变量。在 Linux 上,你可以这样做

cmd = 'echo $FOO'
system({'FOO' => '123'}, cmd)

OUTPUT is "123"

但是在 Windows 上这不起作用,输出是 $FOO

如何在 Windows ruby​​ 系统调用上设置环境变量。我使用了 ENV 的几种变体,但出现错误或仍然无法正常工作。

system({$ENV[:VAR1] => "WIN7"}, 'echo $ENV[:VAR1]')

最佳答案

Ruby 的 system() 调用主机的默认 shell,因此您需要使用该 shell 的语言

Windows 上的默认 shell 是 cmd.exe,其中环境变量 FOO 必须引用为 %FOO% 才能展开.

因此,您的代码应该是:

cmd = 'echo %FOO%'
system({'FOO' => '123'}, cmd)

关于在 Windows 中使用环境变量调用 Ruby 系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38928033/

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