我正在创建以下设置环境变量的方法:
def set_time
puts "setting_time"
system("export GIT_COMMITTER_DATE='#{@date}'")
system("export GIT_AUTHOR_DATE='#{@date}'")
end
但由于某些原因,当我在运行此操作后进入我的控制台时,尚未添加环境变量!我能够运行其他命令行界面关键字,它的工作原理。如何从Ruby设置环境变量?
答案 0 :(得分:1)
他们没有“坚持”的原因。是因为当你从Ruby运行shell命令时,它会打开一个新进程。而作为当前Ruby进程的子进程的那个进程并不是持久的,因为它最终会死掉。
这方面的一个很好的资源是Jesse Storimer的博客文章,其中提供了有关环境和流程的更多信息,而不是我在此处输入的内容。
根据您的操作系统,您可以使用Ruby写入您的“rc'文件,例如~/.bashrc
或在Windows上更改您的注册表,如果您确实希望这些文件在登录时保持不变。
答案是,您正在设置和导出环境变量。他们根本没有超过孩子过程的生命。