![为什么我的 $PATH 没有被调用的 bash 继承?](https://linux22.com/image/19325/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20%24PATH%20%E6%B2%A1%E6%9C%89%E8%A2%AB%E8%B0%83%E7%94%A8%E7%9A%84%20bash%20%E7%BB%A7%E6%89%BF%EF%BC%9F.png)
我在 AIX 系统上工作,没有管理员权限。它安装了多个 shell,默认为tcsh
.我不允许更改登录 shell。通常我从 开始我的会话exec bash
。问题是我没有继承$PATH
我在tsch
.第一个奇怪的事情是$PATH
,当我这样做时,my 中的一些条目是重复的exec bash
。另一个奇怪的事情是,当我这样做exec bash --norc
时,source .bashrc
一切都很好 - 我从 tcsh 获取路径并从我的.bashrc
.
我已经尝试完全注释掉我的.bashrc
内容,但它没有给出任何结果 - 我仍然没有得到$PATH
来自tcsh
.似乎系统范围的 /etc/profile 正在操纵我的$PATH
.我尝试运行exec bash --noprofile
,但我仍然看到脚本引入的更改/etc/profile
(我无法控制)。
所以最后也许有人在我的调查中发现了一个缺陷,并可以告诉我如何使用 inhered 调用 bash $PATH
,或者可以建议一种无需阅读全局配置脚本即可实现的方法?
(我也在超级用户上发布了这个问题,我不确定重复问题是否可以,但我在那里没有得到答案,所以到底是什么......)
答案1
如果这样做source .bashrc
给了您想要的环境,那么您缺少的是交互式登录 shell。要以bash
这种方式工作,只需运行exec bash --login
或短exec bash -l
。