我需要在 Ruby 文件中运行一些命令,而不是在 Bash 中运行它们,因为我在 Unix 上,我想在不同的 shell 中运行它们,称为“s3sh”。如何指定外壳?
例如,在我的 Ruby 代码中,我尝试过:
system "export RUBYSHELL=s3sh"
s3 = system "RightAws::S3Interface.new(#{S3ID}, #{S3KEY})"
system "s3.copy(#{SRCBUCKET}, #{FILE}, #{DESTBUCKET}, #{FILE})"
system "unset RUBYSHELL"
但不可能将环境变量导出到运行 Ruby 脚本的 shell。(请参阅“在 Ruby 中导出环境变量”)