Bash.bash_profile 中
.bash_profile 中 export PATH=...
的含義
我使用 Mac 已經有幾年了,因為我目前正在學習 ruby on rails,所以我覺得我應該更多地了解我正在使用的系統。我看了一下
~/.bash_profile
,好像是這樣的PATH="/Users/nikolajandersen/.apportable/SDK/bin:$PATH" [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM$ # Setting PATH for Python 3.3 # The orginal version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/3.3/bin:${PATH}" export PATH export PATH=/usr/local/bin:$PATH export PATH=/usr/local/bin:$PATH
由於有兩條相同的
export PATH=/usr/local/bin:$PATH
線,我試圖刪除一條。結果,諸如 nano 和 ls 之類的命令不再起作用。我恢復了更改,但我不明白為什麼必須說兩次。另一個問題是:為什麼有時會 $ PATH and sometimes just PATH without the $ ? 為什麼
-s "$HOME/.rvm/scripts/rvm"
站在$$ [ $$] 大括號?有什麼作用
export PATH
? 更新這是輸出echo $PATH
/usr/local/bin:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/3.3/bin:/Users/nikolajandersen/.rvm/gems/ruby-2.0.0-p353/bin:/Users/nikolajandersen/.rvm/gems/ruby-2.0.0-p353@global/bin:/Users/nikolajandersen/.rvm/rubies/ruby-2.0.0-p353/bin:/Users/nikolajandersen/.rvm/bin:/Users/nikolajandersen/.apportable/SDK/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/sm/bin:/opt/sm/pkg/active/bin:/opt/sm/pkg/active/sbin
看來您對換行符是正確的。我再次刪除了該行並確保最後有一個空行。現在命令仍然有效。
PATH
before=
是一個變數名,組合告訴將bash
後面的東西儲存=
在變數中。是到那時為止的變數 PATH 的值。
$PATH
該組合
PATH="some_path_to_stuff:$PATH"
擴展了 PATH 變數。這bash
是一個冒號 (:
) 分隔的列表。關於雙重添加
/usr/local/bin
,我只能猜測第二個版本後面沒有換行符(並且在文件末尾)。原則上,這應該給你一個以/usr/local/bin:/usr/local/bin:....
. 你可以檢查一下echo $PATH
如果只有一次,
/usr/local/bin
那麼請執行以下操作:echo "" >> ~/.bash_profile
並登錄並嘗試
$PATH
再次列印。