一 簡介
環境變量配置文件中,主要是定義對系統的操作環境生效的系統默認環境變量,比如PATH,HISTSIZE,PS1,HOSTNAME等默認環境變量
主要是下面這個5種
我們之前設置的一些變量,都是臨時生效,如果想要讓變量重啟後還生效,就需要寫入這些配置文件中,寫完之後,如果不想重啟,立即生效用source 配置文件或者. 配置文件,說到這裡,讓我想起了編譯Android系統時的一個配置文件,/build/envsetup.sh,每次我們新clone一份代碼,不想全部編譯,而是用mm編譯其中一個模塊時,都需要先source envsetup.sh,當時不太理解為什麼,現在知道了,因為mm命令在這個配置文件中,需要讓這個配置文件裡面的環境變量或者Shell命令在當前系統中生效,需要用source的方式。
二 作用
這個流程有兩個方向,上面橫著走的是用戶通過重新登錄的流程,下面這個是不通過登錄,直接切換用戶會走的流程,這裡有一個注意點,比如我一個變量在流程靠前的配置文件中定義了,在後面的文件又定義,以後面的為准,我們來分別看下:
首先看/etc/profile的作用
定義USER變量,LOGNAME變量,MAIL變量
定義PATH變量
定義HOSTNAME變量,HISTSIZE變量,umask
調用/etc/profile.d/*.sh文件
我們來看下這個目錄下的sh文件
看下lang.sh
這裡面主要定義LANG這個變量
~/.bash_profile
調用了~/.bashrc文件
在PATH變量後面加入了”:$HOME/bin”
~/.bashrc
定義了一些默認的別名
調用/etc/bashrc
/etc/bashrc
定義PS1變量
定義PATH變量,umask
調用/etc/profile.d/*.sh文件
三 其他配置文件和登錄信息
1 注銷時生效的環境變量配置文件
~/.bash_logout
我們可以看到這個文件目前還是空的,如果想在注銷的時候做什麼動作,可以在這裡寫,比如我把history清空
2 ~/.bash_history
這個之前已經說過了,歷史命令
3 Shell登錄信息
本地終端歡迎信息/etc/issue
遠程終端歡迎信息/etc/issue.net
轉義符在這個文件中沒有作用,是否顯示由/etc/ssh/sshd_config決定
加入”Banner /etc/issue.net” 才能顯示,記得重啟ssh服務
登錄後歡迎信息/etc/motd
我們看到這裡是空的,加一行Welcome!
不管是本地還是遠程,都可以顯示此歡迎信息
好了,環境變量配置文件就總結到這裡,如有問題,歡迎指正,謝謝。