Bash

從 PATH 中刪除目錄

  • April 6, 2022

我正在嘗試使用 MingW 編譯 wxWidgets,並且我的路徑中有 cygwin,這似乎有衝突。所以我想/d/Programme/cygwin/bin從 PATH 變數中刪除,我想知道是否有一些優雅的方法可以做到這一點。

天真的方法是將其回顯到文件中,手動刪除並獲取它,但我敢打賭有更好的方法。

沒有標準工具可以“編輯”$PATH 的值(即“僅在文件夾不存在時添加文件夾”或“刪除此文件夾”)。你可以執行:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

這將適用於目前會話,如果您想永久更改,請將其添加到任何 .bashrc、bash.bashrc、/etc/profile - 適合您的系統和使用者需要的任何內容。但是,如果您使用的是 BASH,您還可以執行以下操作,假設您想/home/wrong/dir/從 PATH 變數中刪除目錄,假設它位於末尾:

PATH=$(echo "$PATH" | sed -e 's/:\/home\/wrong\/dir$//')

所以在你的情況下你可以使用

PATH=$(echo "$PATH" | sed -e 's/:\/d\/Programme\/cygwin\/bin$//')

引用自:https://unix.stackexchange.com/questions/108873