2012-07-16 198 views
7

我不確定發生了什麼,但我的〜/ .profile不再加載。Bash .profile not loading

任何人都可以看到以下錯誤嗎?

export PS1="\[email protected] [\w]# " 
export EDITOR="subl -w" 
export CLICOLOR=1 
export LSCOLORS=GxFxCxDxBxegedabagaced 

alias vst="ssh -i ~/.ssh/vst [email protected]" 

我知道使用PS1像我試圖去做應該做的事[email protected] [~/path/to/file]#一個事實,但它不是。

任何想法?

回答

17

請問~/.bash_profile~/.bash_login是否存在?如果是這樣,那將用來代替~/.profile

+0

我其實並有一個'.bash_login'。從那裏複製內容到.profile和刪除bash_login修復它。謝謝。 – Peter 2012-07-16 06:40:55

+0

也爲我工作。謝謝 – DaddyMoe 2015-08-05 12:39:19

+1

@Peter:kenorb給出的解決方案(http://stackoverflow.com/a/29152555/499797)比將所有信息粘貼到同一個文件中要好得多。 – javatarz 2015-09-18 07:13:39

-2

我必須登錄到該用戶才能獲得~/.bash_profile~/profile重新加載更改。

su - drew 

您必須使用su和用戶名之間的短劃線。

+1

這看起來更像是評論,而不是回答。 – kenorb 2015-09-18 11:26:29

9

Unix FAQ (for OS X)我們可以看到:

巴什啓動文件

當 「登錄shell」 啓動時,它讀取文件 /etc/profile然後~/.bash_profile~/.bash_login~/.profile無論哪一個存在 - 它只讀取其中的一個, 按照上述順序檢查它們)。

當「非登錄shell」啓動時,它會讀取文件/etc/bashrc,然後讀取文件~/.bashrc

請注意,當使用名稱sh調用bash時,它會嘗試模仿Bourne shell的啓動順序(sh)。特別是,被調用爲sh的非登錄shell在默認情況下不會讀取任何點文件。有關詳細信息,請參閱bash手冊頁。

所以,如果你已經~/.bash_profile,文件~/.profile將不會被自動讀取bash的,所以你可以在你的~/.bash_profile添加以下行來加載它:

# Load user profile file 
if [ -f ~/.profile ]; then 
    . ~/.profile 
fi