从 PATH 环境变量中删除路径

要从 PATH 环境变量中删除 PATH,你需要编辑〜/ .bashrc 或〜/ .bash_profile 或/ etc / profile 或〜/ .profile 或/etc/bash.bashrc(特定于发行版)文件并删除分配特定的路径。

你可以在最后阶段在 $PATH 中进行替换,而不是找到确切的分配。

以下将安全地从 $PATH 中删除 $path

path=~/bin
PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"

要使其永久化,你需要在 bash 配置文件的末尾添加它。

你可以通过功能方式完成此操作:

rpath(){
    for path in "$@";do
        PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"
    done
    echo "$PATH"
}

PATH="$(rpath ~/bin /usr/local/sbin /usr/local/bin)"
PATH="$(rpath /usr/games)"
# etc ...

这样可以更轻松地处理多个路径。

笔记:

  • 你需要在 Bash 配置文件(〜/ .bashrc 或其他)中添加这些代码。
  • 运行 source ~/.bashrc 重新加载 Bash 配置(〜/ .bashrc)文件。