1. 程式人生 > >bash shell啟動配置指令碼

bash shell啟動配置指令碼

bash shell有五種模式: 1.互動模式(命令列模式下) 2.非互動模式(即執行指令碼) 3.POSIX模式 4.以sh名稱呼叫 5.受限模式 互動式/非互動式 當bash作為互動式login shell呼叫,或者使用--login引數作為非互動式shell呼叫,bash會順次查詢並執行以下指令碼: /etc/profile ~/.bash_profile ~/.bash_login ~/.profile 使用--noprofile選項可以禁止bash呼叫上面四個啟動指令碼 當login shell退出的時候,bash讀取並執行~/.bash_logout 當一個不是login shell的互動式
shell啟動的時候(呼叫/bin/bash產生一個互動式shell),bash讀取並執行/etc/bash.bashrc和~/.bashrc。 使用--norc選項可以禁用此功能。 使用--rcfile引數可以指定啟動配置檔案,代替/etc/bash.bashrc和~/.bashrc。 當bash以非互動的方式啟動,bash執行環境變數BASH_ENV的內容: if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi 以sh檔名呼叫bash login shell呼叫/bin/bash:  如果/etc/password中某帳號的第七欄位是/bin/sh,則bash會讀取/etc/profile和~/.profile。--noprofile可以禁止執行它們。 互動方式:執行/bin/sh產生一個子shell,檢查並呼叫環境變數ENV定義的內容。此時--rcfile沒有影響。 非互動式(呼叫指令碼):如果指令碼的第一行#之後是/bin/sh,則不掉用任何配置檔案。 如果以sh檔名呼叫bash,在呼叫完啟動配置檔案之後進入POSIX模式。 POSIX模式
當使用--posix選項,bash進入POSIX模式,使用與POSIX標準相容的功能。Bash讀取並執行有$ENV變數擴充套件而得到的檔案,否則不再執行任何初始化檔案. 受限模式 執行bash -r或者rbash稱為受限模式。此時不能進行cd操作,不能修改環境變數,不能進行轉向操作。此模式讀取執行~/.bashrc

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