bash最常見的啟用模式是互動式和非互動式:
1.互動式啟用
指其標準輸入和輸出都連線在終端上.又分為三種型別:login,非login,posix
以及受限的shell.
確定乙個shell是否是互動式的可以通過檢測$ps1環境變數.
(1) 當bash作為login shell被啟用時,它將依次讀取並執行以下檔案:
/etc/profile,~/.bash_profile,~/.bash_login,~/.profile
使用--noprofile選項啟用bash可以禁止其讀任何初始化檔案
在退出時執行 ~/.bash_logout 檔案
(2) 當bash作為非login shell被啟用時,它將讀取並執行~/.bashrc
使用--norc選項啟用bash可以禁止執行任何初始化檔案,使用
--rcfile file可以指定執行的初始化檔案.
(3) 當bash作為posix模式被啟用時,它將先檢查$env變數是否定義.
若定義,bash讀取並執行有$env變數擴充套件而得到的檔案,否則不再
執行任何初始化檔案。
(4) 當bash作為受限模式被啟用時,它除了禁止某些操作以外,其他行為
於其他模式相同.受限操作有:改變目錄,修改$shell和$path變數,
執行exec,以絕對路徑執行程式以及使用重定向.bash 1.x中不包含
受限模式.
2.非互動式啟用
主要用來執行shell指令碼.啟動後,bash檢查$bash_env變數,若定義,
這執行該變數指定檔案中包含的命令.
bash 的啟用選項
-c string 該選項表明string中包含了一條命令.如 bash -c ls ~
-i 使bash以互動式方式執行
-r 使bash以受限方式執行
--login 使bash以登入shell方式執行
--posix 使bash遵循posix標準
--verbose 使bash顯示所有其讀入的輸入行
--help 列印bash的使用資訊
--version 列印版本資訊
--noprofile
--norc
--rcfile file
Linux 下 Bash配置檔案讀取
linux安裝時可能要修改的配置檔案 etc profile etc bashrc ubuntu沒有這個檔案,對應地,其有 etc bash.bashrc檔案。我用的是ubuntu系統,所以下面將一律使用 etc bash.bashrc來敘述 bash profile bash login prof...
bash配置檔案
本文主要對linux系統bash配置檔案進行比較分析。1.首先是兩個全域性的配置檔案。etc profile 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行。並從 etc profile.d目錄的配置檔案中蒐集shell的設定.etc bash.bashrc 為每乙個執行b...
bash 配置檔案
兩類 profile類 為互動式登入的shell程序提供配置 bashrc類 為非互動式登入的shell程序提供配置 登入型別 互動式登入shell程序 直接通過某終端輸入賬號和密碼後登入開啟的shell程序 使用su命令 su username,或者 su l username 執行的切換 非互動...