你是否會覺得奇怪,怎麼我們什麼動作都沒有進行,但是一進入 bash 就取得一堆有用的變數了? 這是因為系統有一些環境配置檔案案的存在,讓 bash 在啟動時直接讀取這些配置檔案,以規劃好 bash 的操作環境啦! 而這些配置檔案又可以分為全體系統的配置檔案以及使用者個人偏好配置檔案。要注意的是, 我們前幾個小節談到的命令別名啦、自定義的變數啦,在你登出 bash 後就會失效,所以你想要保留你的配置, 就得要將這些配置寫入配置檔案才行。底下就讓我們來聊聊吧!
在開始介紹 bash 的配置檔案前,我們一定要先知道的就是 login shell 與 non-login shell! 重點在於有沒有登陸 (login) 啦!
login shell:取得 bash 時需要完整的登陸流程的,就稱為 login shell。
(1)你要由 tty1 ~ tty6 登陸,需要輸入使用者的賬號與密碼,此時取得的 bash 就稱為『 login shell 』囉;
(2)使用su - username,登陸後,此時取得的 bash 就稱為『 login shell 』
non-login shell:取得 bash 介面的方法不需要重複登陸的舉動
(1)你以 x window 登陸 linux 後, 再以 x 的圖形化介面啟動終端機,此時那個終端介面並沒有需要再次的輸入賬號與密碼,那個 bash 的環境就稱為 non-login shell了。
(2)你在原本的 bash 環境下再次下達 bash 這個命令,同樣的也沒有輸入賬號密碼, 那第二個 bash (子程式) 也是 non-login shell 。
(3)使用su username,登陸後,此時取得的 bash 就稱為『 non-login shell 』
為什麼要介紹 login, non-login shell 呢?這是因為這兩個取得 bash 的情況中,讀取的配置檔案資料並不一樣所致。 由於我們需要登陸系統,所以先談談 login shell 會讀取哪些配置檔案?一般來說,login shell 其實只會讀取這兩個配置檔案:
/etc/profile:這是系統整體的配置,你最好不要修改這個檔案;
~/.bash_profile 或 ~/.bash_login 或 ~/.profile:屬於使用者個人配置,你要改自己的資料,就寫入這裡!
那麼,就讓我們來聊一聊這兩個檔案吧!這兩個檔案的內容可是非常繁複的喔!
環境配置初始化步驟:
/etc/profile~/.profile
其中/etc/profile會呼叫/etc/bashrc,~/.profile會呼叫~/.bashrc,所以真正的初始化步驟是
/etc/profile/etc/bashrc
~/.profile
~/.bashrc
環境配置初始化步驟:
/etc/bashrc~/.bashrc
bash環境配置檔案
login shell 取得bash時需要完整的登陸流程。no login shell 取得bash介面的方法不需要重複登陸的舉動。login 讀取兩個配置檔案 1.etc profile 系統整體設定,不要修改。2.bash profile 或 bash login 或 profile 使用者個人...
bash環境配置檔案
定義變數 普通變數 variable name string 系統變數 export variable name string 注意 父程序中的環境變數在子程序中依然有效,但是父程序中的普通變數在子程序中是無效的 但是在子程序中定義的任何變數 普通以及系統 在父程序中是無效的 若是在bash中設定變...
Bash的環境配置檔案
在開始介紹bash的配置檔案之前,需要了解的就是login shell與non login shell。這兩個shell區別如下 login shell 就是取得bash時需要完整的登陸流程,就是login shell。如 由tty1登陸,需輸入使用者名稱和密碼,此時取得的bash就是login s...