我们要做的是调用source bash_profile
重新加载bash_profile文件。该脚本抓取一个人的bash_profile并将其加载到一个人的计算机上。问题是source bash_profile
不会在ruby脚本之外保留。脚本结束后,终端看起来和以前一样。我们怎样才能使source bash_profile
在ruby脚本之外持续存在?
答案 0 :(得分:0)
bash_profile
通常会修改bash环境(安装函数,别名,变量,readline绑定等),并且实际上无法修改父bash进程的环境。
因此,您可以做的最好的事情是通过exec
新的bash结束ruby脚本,指定-l
(或--login
)选项以使其成为login shell所以它将从采购bash_profile
开始。 (您也可以通过创建参数-
的第一个字符来完成此操作,通常将其设置为-bash
。)
如果您可以控制ruby脚本的启动方式,则可以使其成为exec
,以便替换父bash进程。这将成为一个更清洁的流程树。