Bash

需要在 Linux 中為命令設置新的預設路徑

  • June 25, 2021

基本上,標題所說的。我在 Redhat 的使用者帳戶下設置了新版本的 LUA 和 HAProxy,所以包含它的 bin 目錄是 /home/user1/testing/usr/local/bin。我已經嘗試將它添加到現有 .profile 和 .bash_profile 文件中的 PATH 中,但是當我使用 which lua 時,我仍然會在根目錄中的 /usr/bin 下獲得舊版本。

我的路徑如下所示:

echo $PATH
/usr/local/bin:/usr/bin:/home/user1/testing/usr/local/bin/

我有什麼辦法可以在不覆蓋所有其他命令的情況下做到這一點?

目錄的順序$PATH很重要。當您執行command時,它將執行在command您的目錄中找到的第一個實例$PATH。由於您在最後添加了新目錄,並且在較早的目錄中還有另一個同名的執行檔,這就是您找到的那個。

所以只需更改順序。我猜你已經在你的~/.profile

PATH="$PATH":/home/user1/testing/usr/local/bin/

您需要將其更改為:

PATH=/home/user1/testing/usr/local/bin/:"$PATH"

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