首頁  >  文章  >  運維  >  啟動bash shell有哪些方式?

啟動bash shell有哪些方式?

PHP中文网
PHP中文网原創
2017-06-20 09:23:313396瀏覽

啟動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會執行檔案裡的命令。

以上是啟動bash shell有哪些方式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn