当我运行echo $PATH时,重复的输出snap/bin:/snap/bin出现在末尾,看起来很不寻常。
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin这种重复是否不可取?如果是的话,怎样才能改变呢?
发布于 2021-07-04 06:21:51
可能,在您的~/.bashrc或~/.profile中,有一个命令可以将/snap/bin添加到$PATH中,而无需事先检查它是否还在$PATH中。
考虑$PATH变量中重复的条目在运行$PATH中的命令时不会产生任何影响。另一方面,运行命令时可能会出现减速,而不是在$PATH中运行(因为命令搜索在重复条目出现时执行了两次或更多次),尽管我认为很难感觉到这种减速。当您想要直观地检查您的$PATH变量时,重复条目也有点烦人。
如果要避免$PATH中重复的条目,可以将此命令添加到~/.profile文件(即环境变量的最佳位置)中:
# remove duplicated paths in PATH variable
PATH="$(printf "%s" "$PATH" | awk -v RS=':' '!a[$1]++ {if (NR > 1) printf RS; printf $1}')"此命令使用awk标识$PATH变量中的每个项(它们通过:字符分隔),并重新构建$PATH变量,避免重新添加重复文件夹。它还保留了$PATH变量中文件夹的原始类型。
您可以使用首选的文本编辑器打开~/.profile。如果通过终端打开它,则不需要sudo,因为它属于您的用户。
https://askubuntu.com/questions/1349900
复制相似问题