当我在 Ubuntu 18.04.3 的终端上运行 $PATH 时,它显示以下内容:
/home/ubuntu/bin:/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$PATH ( ) 的第一部分/home/ubuntu/bin
出现了两次。为什么?
我努力了:
grep PATH= ~/.{bash_profile,profile,bashrc}
并得到:
grep: /home/ubuntu/.bash_profile: No such file or directory
/home/ubuntu/.profile: PATH="$HOME/bin:$PATH"
/home/ubuntu/.profile: PATH="$HOME/.local/bin:$PATH"
/home/ubuntu/.bashrc:export PATH="$HOME/bin:$PATH"
从文件中删除
export PATH="$HOME/bin:$PATH"
指令/home/ubuntu/.bashrc
解决了问题,因为文件PATH="$HOME/bin:$PATH"
中已经包含PATH="$HOME/bin:$PATH"
了/home/ubuntu/.profile
。我使用 2000 年在 Linux Journal 中描述的 Stephen Collyer 的
bash_path_funcs
,但链接不再有效。此链接今天有效(2020 年 3 月 3 日):
http://web.archive.org/web/20061213023831/http://www.netspinner.co.uk/Resources.html
addpath
仅当路径最初不存在时,该函数才会将条目添加到路径中。delpath -n
从路径中删除所有不存在的目录,并uniqpath
删除重复的条目.. ~ ~