bash的幾個初始化檔案

2021-05-23 11:40:43 字數 1660 閱讀 1283

(0)/etc/environment

設定整個系統的環境,與登入使用者無關。

(1)/etc/profile

全域性(公有)配置,不管是哪個使用者,登入時都會讀取該檔案。

(2)/ect/bashrc.bashrc (或/etc/bashrc)

它也是全域性(公有)的

bash執行時,不管是何種方式,都會讀取此檔案。

(3)~/.profile

若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。

另外,圖形模式登入時,此檔案將被讀取,即使存在~/.bash_profile和~/.bash_login。

(4)~/.bash_login (ubuntu 沒有這個檔案)

若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。

(5)~/.bash_profile (ubuntu 沒有這個檔案)

unbutu預設沒有此檔案,可新建。

只有bash是以login形式執行時,才會讀取此檔案。通常該配置檔案還會配置成去讀取~/.bashrc。

(6)~/.bashrc

當bash是以non-login形式執行時,讀取此檔案。若是以login形式執行,則不會讀取此檔案。

(7)~/.bash_logout

登出時,且是longin形式,此檔案才會讀取。也就是說,在文字模式登出時,此檔案會被讀取,圖形模式登出時,此檔案不會被讀取。

mac os x 執行的是 ~/.bash_profile, 除非特殊設定,不會去執行~/.bashrc 

下面是在本機的幾個例子:

1. 圖形模式登入時,順序讀取:/etc/profile和~/.profile

2. 圖形模式登入後,開啟終端時,順序讀取:/etc/bash.bashrc和~/.bashrc

3. 文字模式登入時,順序讀取:/etc/bash.bashrc,/etc/profile和~/.bash_profile

4. 從其它使用者su到該使用者,則分兩種情況:

(1)如果帶-l引數(或-引數,--login引數),如:su -l username,則bash是lonin的,它將順序讀取以下配置檔案:/etc/bash.bashrc,/etc/profile和~ /.bash_profile。

(2)如果沒有帶-l引數,則bash是non-login的,它將順序讀取:/etc/bash.bashrc和~/.bashrc

5. 登出時,或退出su登入的使用者,如果是longin方式,那麼bash會讀取:~/.bash_logout

6. 執行自定義的shell檔案時,若使用「bash -l a.sh」的方式,則bash會讀取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(這個不屬於bash shell),則不會讀取上面的任何檔案。

7. 上面的例子凡是讀取到~/.bash_profile的,若該檔案不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。

bash初始化過程

bourne again shell bash 的初始化過程是這樣的 1.bash 檢查檔案 etc profile 是否存在 2.如果存在,bash 就讀取該檔案,否則,跳過 3.bash 檢查主目錄下的檔案.bash profile 是否存在。4.如果存在,bash 就讀取該檔案,否則,跳過 5...

Shell語言 06 bash的初始化

全域性 公有 配置,不管是哪個使用者,登入時都會讀取該配置檔案 全域性,使用指令碼時會讀取該配置,這個只是在centos系統中才有,在ubuntu就沒有 在ubuntu裡面與之對應的是 etc bash.bashrc bash執行時,不管是何種方式,都會讀取此檔案 若bash是以login方式執行時...

初始化引數檔案

引數檔案有兩類 pfile 靜態引數檔案 和spfile 動態伺服器引數檔案 spfile 是乙個二進位制檔案,不能手工編輯,修改值只能在sql plus上使用alter system set.命令或database express引數編輯功能。建立引數檔案 create spfile filena...