1.bash配置文件:
1).全局(bash的配置文件)
有 /etc/profile /etc/profile.d/* 與 /etc/bashrc
其實都是bash這個程序啟動的時候會讀取配置信息的.
無論現在什么樣的應用程序,大多數都需要用配置文件來保存用戶可以進行的設定的
2).用戶個人:
~/.bash_profile 和 ~/.bashrc
我們對bash所做的任何設定,都可以將這些修改寫入到這些文件中,但是這些文件還略有不同,並不是每一次bash的執行都會讀取每一個bash配置文件的,這要取決於用戶啟動bash的啟動方式(用戶登陸,執行腳本)
2. bash啟動運行模式:(交互和非交互模式)
1.).交互式模式
用戶登錄然后執行命令
2.).非交互式模式
將來我們通過系統的自動化執行命令定義好定時任務執行腳本,用戶不需要登錄,腳本就會運行,而腳本的運行需要解釋器去執行,而bash的解釋器就是bash,因此每一個腳本運行起來就會啟動一個bash進程, 因此,交互式和非交互式的bash進程讀取的配置文件是不一樣的,而且讀取次序也有所不同.
次序很關鍵:如果同一個變量或者設定出現了多次,那最后讀取的生效。
1. 對於交互式的用戶登錄而言,讀取次序是:
--> /etc/profile
--> /etc/profile.d/*(會被profile文件調用全部)
--> ~/.bash_profile
--> ~/.bashrc
--> /etc/bashrc
對於不同的用戶,其用戶個人配置文件是不一樣的,所以其設定結果也是不一樣的.
對於非交互的bash讀取配置文件(執行腳本)
~/.bashrc --> /etc/bashrc --> /etc/profile.d/*(最后一個不讀)
其他文件將不再讀取.
配置文件有的是profile類文件,有些是bashrc類文件.
profile類
1. 設定環境變量
2. 運行命令或腳本
用戶登陸之前就運行一些命令或者腳本的話,就寫在這里,bash登陸之前就進行的准備類工作
/etc/profile 對全局生效
~/.bash_profile 僅對該用戶生效
2. bashrc類
1. 通常用於設定本地變量,對當前shell生效,對子shell不生效
2. 設定命令別名