当我在 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"
答案1
export PATH="$HOME/bin:$PATH"
从文件中删除指令/home/ubuntu/.bashrc
可以解决问题,因为文件中PATH="$HOME/bin:$PATH"
已经涵盖了。PATH="$HOME/bin:$PATH"
/home/ubuntu/.profile
答案2
我使用 Stephen Collyer 的bash_path_funcs
,早在 2000 年 Linux Journal 中就有描述,但链接不再有效。
此链接今天有效(2020-Mar-03):
http://web.archive.org/web/20061213023831/http://www.netspinner.co.uk/Resources.html
此addpath
函数仅当路径中不存在条目时才向路径添加条目。delpath -n
从路径中删除所有不存在的目录,并uniqpath
删除重复的条目。~ ~