Bash

找出 $PATH 損壞的位置

  • June 20, 2013

我正在使用 OSX Mountain Lion 10.8.2

$echo $PATH列印這個:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/myusername/.rvm/bin

我已經註釋掉了所有內容~/.bash_profile~/.bashrc重新啟動了電腦,但$PATH變數(/Users/myusername/.rvm/bin)中的最後一部分並沒有消失。

如何找出最後一部分添加到我的$PATH變數中的位置?

man bashINVOCATION部分解釋了啟動互動式登錄 shell 會話涉及哪些文件:

  • /etc/profile
  • ~/.bash_profile
  • ~/.bash_login
  • ~/.profile

其中任何一個都可以包含此分配或source/.語句來獲取包含此分配的另一個腳本。由於您已經檢查了最後兩個,請嘗試查看前兩個以及任何這些來源的任何文件。這通常包括**/etc/profile.d/***,它通常包含特定於應用程序的PATH分配。

在我的特定情況下(Ubuntu 12.10),這四個文件來源如下:

  • /etc/profile:

    • /etc/bash.bashrc
    • /etc/profile.d/*.sh
  • ~/.bash_profile不存在

  • ~/.bash_login不存在

  • ~/.profile:

    • $HOME/.bashrc

RVM 特別 要求您~/.bash_profile為單使用者安裝提供其 RC 文件,所以這可能是一個不錯的選擇。

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