2012-04-13 123 views
0

我的MAC是讓頭髮連線後,我改變控制檯的ksh,再改回爲/ bin/bash的缺少寶石

  1. 控制檯提示符現在是靜態的bash-3.2不管當前目錄下我在,同時在.bash_profile中我已經設置#修改控制檯 出口PS1 =「\ W>」

  2. 耙寶石和其他一些在Ruby中丟失,雖然它被重新安裝後,再次我運行包安裝,但有後續奇怪的問題,例如rake命令沒有打到正確的rake文件..

有什麼想法嗎?

非常感謝。

+0

我找到了中間的原因是因爲.bash_profile中從來沒有閱讀,任何想法爲什麼? – iwan 2012-04-13 11:15:58

回答

0

.bash_profile只有在第一次登錄時才由bash運行。(如果您將終端設置爲使每個shell成爲「登錄shell」,它只能由終端運行)。如果每次啓動bash時都要運行命令,即使它不是登錄shell,也應該將它們放入.bashrc中。但是,您始終可以通過運行bash --login而不是僅僅通過bash將shell變成登錄shell。

不知道你的ksh來自哪裏,但是請注意它並不理解提示字符串中的'\ W'等,所以我希望你在提示符中獲得一個文字'\ W'而不是展開工作目錄。如果您將ksh作爲登錄shell運行,則可能是.profile(或/ etc/profile等)中的某些內容。 ksh沒有與.bashrc完全相同的內容,但是如果在配置文件運行後將$ ENV設置爲文件名,那麼該文件也會執行(即使在非登錄shell中,如果在shell啓動時已經設置了ENV) 。當然,Ksh忽略.bash_profile和.bashrc。

由於沒有裁判在你的問題的體寶石(了?),你可能要改變的問題,並刪除了Ruby標籤...

+0

感謝馬克,你的建議(創建.bashrc文件並把bash --login裏面)解決了我的問題。但實際上我不明白它爲什麼會發生變化(不知道是否在改變爲ksh之前.bashrc是否存在)。非常感謝!! – iwan 2012-04-14 10:38:35