Shell 的型別
登入 Shell
登入 shell 是其引數零的第一個字元是 - 或者以 -login 選項開頭的一個。初始化比普通的互動式(子)shell 更全面。
互動殼牌
互動式 shell 是在沒有非選項引數的情況下啟動的,沒有 -c 選項,其標準輸入和錯誤都連線到終端(由 isatty(3)
確定),或者以 -i 選項開頭。如果 bash 是互動式的,則設定 PS1 和$ - 包括 i,允許 shell 指令碼或啟動檔案測試此狀態。
非互動式 Shell
非互動式 Shell 是一個 shell,使用者無法在其中與 shell 進行互動。例如,執行指令碼的 shell 始終是非互動式 shell。同樣,指令碼仍然可以訪問它的 tty。
配置登入 shell
登入時:
If '/etc/profile' exists, then source it.
If '~/.bash_profile' exists, then source it,
else if '~/.bash_login' exists, then source it,
else if '~/.profile' exists, then source it.
對於非登入互動式 shell
啟動時:
If `~/.bashrc' exists, then source it.
對於非互動式 shell
啟動時:如果環境變數 ENV 為非 null,則展開變數並獲取由該值指定的檔案。如果 Bash 沒有在 Posix 模式下啟動,它會在 ENV 之前查詢 BASH_ENV。