環境變數配置檔案中主要是定義對系統操作環境生效的系統預設環境變數,比如path、histsze、ps1、hostname等預設環境變數。shell分類讓配置檔案直接生效,不用重新登陸
source命令
source配置檔案
.配置檔案
有哪些配置檔案
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
注意:/etc目錄下都是對所有使用者都有效,也就是說,所有使用者登入上了都會讀取這些配置檔案的資訊。
login-shell和non 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_historyshell登陸資訊
本地終端歡迎資訊:/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多 ...