我的 $PATH 中有一行无效,我想删除它,但我不确定它来自哪里。它没有在.bashrc
、.profile
或中设置/etc/environment
。
有什么办法可以找出它的来源吗?谢谢!
答案1
/etc/environment
环境变量应在或中设置/etc/profile
,或它们等效的每个用户文件~/.pam_environment
或 中设置~/.profile
。由于您已检查/etc/environment
和~/.profile
,请检查/etc/profile
(并注意它在 中获取文件/etc/profile.d/
)。默认情况下没有~/.pam_environment
。
如果 bash 设置了错误的 PATH,您可以启动 bash 作为交互式登录 shell,并启用 xtrace,bash -xil
以帮助查明发生错误的位置。
编辑:使用更多有用的输出和管道传输到更少的输出:
PS4='+ $BASH_SOURCE:$LINENO: ' bash -xilc '' 2>&1 | less
答案2
/etc/environment 应该设置 PATH 变量默认值。我建议查看一下,也许这个文件在您的系统上被修改了。一种解决方法是取消设置 PATH 变量,并在每次登录时“重新设置”它。
答案3
我对安装的臃肿的 ~/.bashrc 感到沮丧!我删除了它并制作了一个设置 PATH 和别名 ls 的最小版本,所有其他我不需要的东西。也许你想从头开始?