Debian Linux PATH 变量重复路径

Debian Linux PATH 变量重复路径

我有 Debian Gnu/Linux 11.3.0 64 位。在/etc/profile文件中,我已将 PATH 变量定义为:

PATH="/usr/local/bin:/usr/bin:/bin:$HOME/.local/bin"

当我,

echo $PATH

结果显示,

/home/db/.local/bin:/usr/local/bin:/usr/bin:/bin:/home/db/.local/bin

路径/home/db/.local/bin重复了。如果我从 PATH 变量中取出$HOME/.local/bin,结果如预期:

/usr/local/bin:/usr/bin:/bin

这对我来说不是问题,只是好奇为什么$HOME/.local/binPATH 中的重复会回显?它只对 这样做$HOME/.local/bin。如果我输入诸如/usr/loca/sbin/usr/sbin、 之类的内容/opt,它就不会这样做。

答案1

除了全局变量之外,你可能还有一个本地~/.profile文件,该文件也将该$HOME/.local/bin部分附加到环境变量中。例如,在我的 Debian 机器上,我的文件中有这么一段:PATH/etc/profile~/.profile

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

在搜索 时PATH,将使用第一个匹配项。因此,~/.profile确保用户的私有 bin 排在第一位是有意义的。否则,如果用户拥有/usr/local/bin或中存在的二进制文件的自定义版本/usr/bin,则不会使用自定义版本。

相关内容