任何人都可以告訴我什麼是登錄shell和交互式shell以及它們各自讀取哪些配置(etc/profile,etc/bashrc,.bash_profile ...)?登錄shell和交互式shell?
我看到這樣的一些解釋: 登錄shell是其參數爲零的第一個字符是 - 的一個,或者是一個以--login選項開頭的登錄shell。 一種交互式外殼是一個沒有非選項參數和 開始,而不需要-c選項,其標準輸入和錯誤都連接到 終端(如通過isatty(3)確定),或者一個開始與-i 選項。 PS1被設置,$ - 包括我如果bash是交互式的,允許 shell腳本或啓動文件來測試這種狀態。
但是,這更困惑!
感謝您的提示,但是當我調用bash(已經登錄)時,它是一個交互式shell,它應該讀取.bashrc的權利?但我的.bashrc不是,除非我手動來源。我不知道爲什麼? – shi70 2012-07-17 04:05:09
是的,應該在這一點上閱讀。它是否直接位於你的主目錄('ls〜/ .bashrc')?是否有任何'BASH_ *'種類的環境變量被設置? 「bash」究竟是如何調用的,以及從哪裏('哪個bash')? – 2012-07-17 04:14:47