ruby - 将环境变量传递给 exec shell 命令的正确方法

标签 ruby

<分区>

我正在使用 ruby​​ 1.8.7 补丁 249。以下是将环境变量传递到我需要从我的 ruby​​ 程序执行的 shell 命令的最佳/唯一方法吗?

fork do       
   ENV['A'] = 'A'
   exec "/bin/bash -c 'echo $A'"
end

Process.wait

最佳答案

有一个非常简单的方法:

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

这一切归功于 Avdi:https://stackoverflow.com/a/8301399/171933

关于ruby - 将环境变量传递给 exec shell 命令的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9357132/

相关文章:

ruby-on-rails - 为什么我的代码只选择等于 10 的年份?

ruby pry whereami 命令不起作用

ruby - 伪造一个用于测试的 git 存储库

ruby 在分配属性时减少类似代码的优雅方法

ruby - 将 ruby​​ String 转换为 Bignum

sql - 统计从午夜到现在的所有记录()

mysql - 使用 Ruby Sinatra 将 MySQL 数据库中的表显示到网站中

Ruby:无法将枚举数强制转换为 Fixnum;挣扎于欧拉计划 #5

ruby-on-rails - 启动服务器时 (rails s) 不知道如何构建任务 'deploy'(请参阅 --tasks)(RuntimeError)

ruby - 我如何在 minitest 中模拟一个 block ?