Bash

$PATH 中的重複條目有問題嗎?

  • February 8, 2022

我從幾個朋友那裡獲取 bashrc。所以我最終在我的 $ PATH variable. I am not sure if that is the problem for commands taking long to start. How does $ PATH 在 bash 內部工作?擁有更多 PATHS 會減慢我的啟動時間嗎?

有更多的條目$PATH不會直接減慢您的啟動速度,但是每次您在 shell 會話中首次執行特定命令時都會減慢速度(不是每次執行命令時,因為 bash 維護一個記憶體)。除非您有一個特別慢的文件系統(例如 NFS、Samba 或其他網路文件系統,或者在 Cygwin 上),否則這種減速很少被察覺。

當您從視覺上查看時,重複的條目也有點煩$PATH人,您必須經歷更多的麻煩。

避免添加重複條目很容易。

case ":$PATH:" in
 *":$new_entry:"*) :;; # already there
 *) PATH="$new_entry:$PATH";; # or PATH="$PATH:$new_entry"
esac

旁注:採購別人的 shell 腳本意味著執行他編寫的程式碼。換句話說,您可以讓您的朋友隨時訪問您的帳戶。

旁注:.bashrc不是設置$PATH或任何其他環境變數的正確位置。環境變數應該設置在~/.profile. 請參閱哪些設置文件應該用於使用 bash 設置環境變數?, .bashrc 和 .bash_profile 的區別

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