Pet*_*r.O 9 bash path environment-variables
我想~/bin从我的 PATH 中删除。几个月前,当 Linux (Ubuntu) 对我来说还很陌生时,我就设置了它,但我不知道我是如何添加它的...
当我搜索下面列出的所有文件时,没有任何显示。
还能在哪里设置?它在$HOME/.profile前缀 PATH之后被前置$HOME/bin
如果它有任何区别,我会从命令提示符和正在运行的脚本中获得相同的 PATH。
#!/bin/bash
{
echo "first dir of PATH is: '${PATH%%:*}'"
shopt -s nullglob
cat \
/etc/profile \
/etc/bash.bashrc \
/etc/profile.d/*.sh \
$HOME/.bashrc \
$HOME/.bash_aliases \
/etc/bash_completion \
$HOME/.bash_completion* \
$HOME/.profile \
$HOME/.profile_zap \
$HOME/.bash_profile* \
$HOME/.bash_login* \
| sed -rne '/~\/bin/p'
}
Run Code Online (Sandbox Code Playgroud)
输出是:
first dir of PATH is: '~/bin'
Run Code Online (Sandbox Code Playgroud)
hmo*_*liu 10
您可能希望在登录时跟踪完整的环境负载。只是一个想法。
由于 /etc/profile 是第一个来源的文件,您可以在最顶部添加:
set -x
exec 2> /tmp/debug.log
Run Code Online (Sandbox Code Playgroud)
然后打开一个新终端并执行bash -l; 之后转到原始终端并删除添加的行(您想要一个工作环境,不是吗?)。
您应该以 /tmp/debug.log 中 loading_the_bash_environment 的所有步骤的完整跟踪结束。这将是一个 loooong 文件。
有了它,您必须能够找到“~/bin”进入路径的位置
我会首先查找所有来源文件的 grep。从您的帖子中,我敢打赌路径中的 ~/bin 设置在您列出的文件的不同文件中。