從 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)檔案。