bash 的環境配置文件


bash 的環境配置文件

你是否會覺得奇怪,怎么我們什么動作都沒有進行,但是一進入 bash 就取得一堆有用的變量了? 這是因為系統有一些環境配置文件案的存在,讓 bash 在啟動時直接讀取這些配置文件,以規划好 bash 的操作環境啦! 而這些配置文件又可以分為全體系統的配置文件以及用戶個人偏好配置文件。要注意的是, 我們前幾個小節談到的命令別名啦、自定義的變量啦,在你注銷 bash 后就會失效,所以你想要保留你的配置, 就得要將這些配置寫入配置文件才行。底下就讓我們來聊聊吧!

 

login 與 non-login shell

在開始介紹 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 其實只會讀取這兩個配置文件:

  1. /etc/profile:這是系統整體的配置,你最好不要修改這個文件;
  2. ~/.bash_profile 或 ~/.bash_login 或 ~/.profile:屬於使用者個人配置,你要改自己的數據,就寫入這里!

那么,就讓我們來聊一聊這兩個文件吧!這兩個文件的內容可是非常繁復的喔!

 

login shell的配置初始化

環境配置初始化步驟:

/etc/profile
~/.profile

其中/etc/profile會調用/etc/bashrc,~/.profile會調用~/.bashrc,所以真正的初始化步驟是

/etc/profile
/etc/bashrc
~/.profile
~/.bashrc

 

non-login shell的配置初始化

環境配置初始化步驟:

/etc/bashrc
~/.bashrc


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM