2011-12-08 58 views
0

在/etc/profile.d/foo.sh我有:爲什麼Ubuntu上的bash不能正確加載別名?

set -o vi 
export ECLIPSE_HOME=/usr/local/eclipse 
alias eclipse=${ECLIPSE_HOME}/eclipse 

重啓後我的Ubuntu 11.10 32位安裝,以及從GUI登錄並打開一個終端作爲一個普通用戶後,和類型alias eclipse別名沒有定義:bash: alias: eclipse: not found

如果我再做sudo su -然後alias eclipse然後我得到正確alias eclipse='/usr/local/eclipse/eclipse'

只是可以肯定,如果我再做(根)su - myusername,然後alias eclipse然後我正確得到alias eclipse='/usr/local/eclipse/eclipse'

什麼給?

+1

嘗試將您的終端設置爲'登錄shell' –

+0

我該怎麼做? – necromancer

+0

我使用終端應用程序的缺省GUI – necromancer

回答

1

最好在bashrc中設置別名,而不是在profile中設置別名。配置文件僅在您啓動登錄shell時纔會被讀取。只要啓動交互式shell,就會讀取bashrc。

+0

除了將此標記爲正確答案之外,如果您還提到了/etc/bash.bashrc,則可以應用於所有用戶。謝謝不管:) – necromancer

+3

我喜歡把別名分離成單獨的〜/ .bash_aliases文件(並且從.bashrc中調用它),純粹是出於組織的原因。 – Chris

+0

@agksmehx我會提到/etc/bash.bashrc,但該文件在不同的發行版中可能有不同的名稱,我不確定Ubuntu版本的名稱。所以我猜錯了,我只是寫了「bashrc」,假設你知道我的意思。 – Jonathan

相關問題