1、前言
在登陸linux系統並啓動一個bash shell時,默認狀況下bash會在若干個文件中查找環境變量的設置。這些文件可統稱爲系統環境文件。
⭐️bash檢查環境變量文件的狀況取決於系統運行shell的方式linux
2、系統運行Shell的方式
一、經過系統用戶登錄後默認運行的shell
二、非登陸交互式運行shell
三、執行腳本運行非交互式shellshell
3、啓動順序示意圖以及知識點說明
bash
第一種(經過系統用戶登錄):
1)當用戶登陸系統後,首先加載/etc/profile全局環境變量(這也是linux默認的shell主環境變量,每一個用戶登陸都會加載這個文件)
2)接着加載/etc/profile.d/目錄下的腳本文件,自動定義開機啓動的腳本能夠放在這個目錄下
3)緊接着加載$HOME/.bash_profile(這是用戶我的的環境變量文件)
4)在$HOME/.bash_profile文件中,會加載$HOME/.bashrc(也是用戶我的的環境變量文件,包含在$HOME/.bash_profile中),若是有環境變量就加載,若是沒有就不加載
5)在$HOME/.bashrc文件中,又會加載/etc/bashrc(這是全局環境變量),同理,有環境變量就加載,沒有就不加載ide第二種(用戶的shell不是登陸時啓動的)
好比說:手動在終端執行「bash」命令,又或者不須要輸入密碼的登陸以及遠程SSH鏈接狀況
⭐️這樣的方式,只會加載$HOME/.bashrc(用戶我的的環境變量文件),緊接着去加載/etc/bashrc(全局環境變量文件)
所以,若是但願在非登陸Shell下也能夠讀取到設置的環境變量,就須要把變量設定在$HOME/.bashrc(若是想僅僅我的生效,設定在這個文件)或者/etc/bashrc(若是想所有的用戶都能生效,設定在這個文件)blog
4、終結
用戶環境變量配置在:$HOME/.bashrc文件中
全局環境變量配置在:/etc/bashrc文件中
無論用戶仍是全局的環境變量,建議不要放在$HOME/.bash_profile和/etc/profile中get
5、我是大表哥,我爲本身帶鹽,之後會不定時更新腳本,請支持正版,盜鏈可恥,
個人博客是:https://blog.51cto.com
各位朋友有什麼不懂以及認爲有什麼錯誤之處,請在下方留言,謝謝!博客