Shell學習之環境變數配置檔案 三

2022-04-04 05:51:30 字數 2407 閱讀 8893

環境變數配置檔案中主要是定義對系統操作環境生效的系統預設環境變數,比如path、histsze、ps1、hostname等預設環境變數。

讓配置檔案直接生效,不用重新登陸

source命令

source配置檔案

.配置檔案

有哪些配置檔案

/etc/profile

/etc/profile.d/*.sh

~/.bash_profile

~/.bashrc

/etc/bashrc

注意:/etc目錄下都是對所有使用者都有效,也就是說,所有使用者登入上了都會讀取這些配置檔案的資訊。

shell分類

login-shellnon login-shell區別:

login shell 和 non-login shell的最大區別在於讀取環境變數的配置檔案不同,當系統啟動時或你開啟乙個新到終端登入系統時,系統通過呼叫/bin/login程式處理登入並在 乙個shell中顯示命令列提

示符,這個shell就是login shell;

該shell程式可以是bash也可以是sh或csh,具體使用哪種shell可以在/etc/passwd中設定(/bin/login程 序讀取該檔案決定使用哪種shell)。

定義:

login shell:取得bash 時需要完整的登入流程,就稱為login shell。舉例來說,同tty1~tty6登入時, 需要輸入使用者名稱和密碼,此時取得的bash就稱為login shell。

non-login shell:取得bash介面的方法不需要重複登入的動作。

舉兩個例子(1)以x window登入linux後,再以x 的圖形化介面啟動終端機,此時那個終端機並不需要再次的輸入使用者名稱和密碼,那個bash的環境就稱為non-login shell

(2)在原本的bash環境中再次下達bash這個指令,同樣沒有要求輸入使用者名稱和密碼,那個第二個bash也是non-login shell,比如切換使用者。

登陸讀取配置檔案的順序如果你把配置資訊越往寫入後面的檔案,優先順序就越大,除非你使用變數疊加。

login shell(bash shell)按如下順序執行解析配置檔案:

/etc/profile

~/.bash_profile

~/.bashrc

/etc/bashrc

interactive non-login shell從其父程序上繼承過來環境變數,並按如下順序執行解析配置檔案

/etc/bashrc

~/.bashrc

配置檔案的作用

如果是non login-shell 直接在/etc/bashrc開始讀取配置檔案。

登出時生效的環境變數配置檔案

~/.bash_logout

你可以將一些登出時需要做的任務寫到這個配置檔案。

比如清空歷史命令

或者把環境變數清空

系統出現錯誤時的重要排錯的檔案

~/bash_history
shell登陸資訊

本地終端歡迎資訊:/etc/issue

遠端終端歡迎資訊:/etc/issue.net

轉義符在/etc/issue.net檔案中不能使用

是否顯示此歡迎資訊,由ssh的配置檔案

/etc/ssh/sshd_config決定,加入「banner /etc/issue.net」行才能顯示(記得重啟ssh服務 service sshd restart)

登陸後歡迎資訊:/etc/motd

不管是本地登陸,還是遠端登陸,都可以顯示歡迎資訊。

Ubuntu Linux系統環境變數配置檔案

ubuntu linux系統環境變數配置檔案 etc profile 在登入時,作業系統定製使用者環境時使用的第乙個檔案 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行。etc environment 在登入時作業系統使用的第二個檔案,系統在讀取你自己的profile前,設...

Ubuntu Linux系統環境變數配置檔案

ubuntu linux系統環境變數配置檔案 etc profile 在登入時,作業系統定製使用者環境時使用的第乙個檔案 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行。etc environment 在登入時作業系統使用的第二個檔案,系統在讀取你自己的profile前,設...

shell環境變數

環境變數 和 自定義變數 子程序僅會繼承父程序的環境變數,而不會繼承父程序的自定義變數,所以,你原本bash中的自定義變數在進入了子程序後就會消失不見,一直到你離開子程序並回到原本的父程序之後,這個變數才會出現。1.用env檢視預設的環境變數及其說明 export也可檢視,但是輸出的內容比env多 ...