gpt4 book ai didi

ruby - 在设置环境变量时从 ruby​​ 中退出

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

我需要在为进程设置环境变量时对进程进行 shell 处理。我试过这个单线:

system "RBENV_VERSION=system ruby extconf.rb"

此语法适用于 shell 脚本,但不适用于 ruby​​。(更新: 事实证明此语法毕竟适用于 ruby​​,但由于以下原因我未能看到其效果我的特殊用例。)

所以我这样做:

rbenv_version = ENV['RBENV_VERSION']
ENV['RBENV_VERSION'] = 'system'
begin
system "ruby extconf.rb"
ensure
ENV['RBENV_VERSION'] = rbenv_version
end

我不得不使用这么长的表达式,因为我不想永久覆盖已经有值的环境变量。

你想到什么更短的?

最佳答案

system({"MYVAR" => "42"}, "echo $MYVAR")

system 接受 Process.spawn 接受的任何参数。

关于ruby - 在设置环境变量时从 ruby​​ 中退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8301294/

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