啟動bash shell的三種方式下,檢查的開機檔案,

來源:互聯網
上載者:User

啟動bash shell的三種方式下,檢查的開機檔案,

啟動bash shell的三種方式

1、登入時當做預設登入shell

2、作為非登入shell的互動式shell

3、作為運行指令碼的非互動shell

 

一、登入shell

登入Linux系統時,bash shell會作為登入shell啟動,登入shell會從4個不同的開機檔案裡讀取命令,下面是bash shell處理這些檔案的次序:

1./etc/profile

2.$HOME/.bash_profile

3.$HOME/.bash_login

4.$HOME/.profile

其中/etc/profile檔案是系統預設的bash shell的主開機檔案,系統上的每個使用者登入時都會執行這個開機檔案,另外三個開機檔案是使用者專有的。例如,每個使用者可以配置自己專屬的jdk和tomcat等。

1)、/etc/profile

  profile檔案有一個複雜的特性,有個for語句,會逐一訪問/etc/profile.d目錄的每個檔案,它為Linux系統提供了一個集中存放使用者登入時要執行的應用專屬的開機檔案的地方。這些基本跟系統的特定應用有關,大部分應用會建立兩個開機檔案,一個給bash shell用,一個給c shell用,

 

2)、$HOME目錄下的開機檔案

 

  大多數Linux發行版只用這三個開機檔案中的一個;每個使用者可以編輯這些檔案並添加自己的環境變數來給她們啟動每個bash shell會話。

.bash_profile檔案:此檔案會先去檢查HOME目錄下是否還有一個叫.bashrc的開機檔案,如果有的話,開機檔案會先去執行.bashrc檔案中的命令,然後將一個目錄添加到了PATH環境變數。

 

 

二、互動式shell

如果bash shell不是登入系統時啟動該的,比如在命令列提示符下輸入bash命令啟動,這個啟動的shell稱作互動式shell,這種情況下不會去啟動/etc/profile檔案,而會去使用者的HOME目錄下檢查bashrc是否存在。此檔案有兩個作用:

1.查看/etc目錄下的共用bashrc檔案

2.為使用者提供了一個定製自己的命令別名和私人指令碼函數的地方。

通用的/etc/bashrc開機檔案會被系統上每個啟動互動式shell會話的使用者執行

 

三、非互動式shell

系統執行shell指令碼時用的就是這種shell。這種情況下不需要擔心它沒有命令列提示符,但當每次在系統上運行指令碼時仍然要運行特定的啟動命令,為了處理這種情況,bash shell提供了BASE_ENV環境變數,當shell啟動一個非互動式shell進程時,它會檢查這個環境變數來查看要執行的開機檔案,如果有指定的,shell會執行檔案裡的命令。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.