ruby - 如何在 ruby​​ 脚本中重新加载 .profile

标签 ruby linux

我使用的是 Ruby 2,我资源了一些环境变量并将它们放入 ~/.profile 中,然后我在 ruby​​ 脚本中重新加载 .profile,如下所示:

#!/usr/bin/ruby env
`source ~/.profile`

但是我找不到源命令。如何在 ruby​​ 脚本中重新加载 .profile?

我也尝试过这个:

#!/usr/bin/ruby env
`/bin/bash -c 'source ~/.profile'`

但没有成功。

最佳答案

简而言之 - 你不能。

source 的环境变量只在子进程中有效,不会影响父进程。

唯一的方法是使用bash -c "source ~/.profile; env"返回环境变量,然后在脚本中解析和设置它们。

关于ruby - 如何在 ruby​​ 脚本中重新加载 .profile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042296/

相关文章:

ruby-on-rails - gem 安装是如何工作的? gem 是如何获取安装文件的?

linux - 允许非根用户删除缓存

arrays - 获取 N 项数组的所有 K 项组合的最短代码,其中 K <= N

mysql - Rails 使用连接表将数组参数存储在不同的行中

linux - 代理背后的基于文本的 FTP 客户端设置

python - linux下如何交叉编译windows的python解释器

linux - linux shell 中的减法 if

Java BeautyEye 外观和感觉是空的 JMenuBar 项目

ruby - 测量每秒的出站请求?

ruby - Middleman feed.xml.builder 与 iTunes 标签相关的问题