Linux查看、設(shè)置與取消環(huán)境變量詳解
一、如何查看環(huán)境變量
Linux 中有多種方式可以查看環(huán)境變量,最常用的是以下幾種:
1、env
env 命令可以列出當前終端會話中的所有環(huán)境變量,格式是一行一個 變量名=值。
env
運行結(jié)果如下:
如果只想查看某一個變量,可以結(jié)合 grep:
env | grep PATH
運行結(jié)果如下:
2、使用 printenv
printenv 與 env 類似,也能列出環(huán)境變量。它還可以直接指定要查看的單個環(huán)境變量:
printenv
運行結(jié)果如下,和運行env貌似沒有什么區(qū)別~
如果只想查看一個變量,采用printenv+變量名
printenv PATH
3、使用 echo
如果已經(jīng)知道變量名,也可以用 echo 直接查看其值:
echo $PATH
二、env 和 set 有什么區(qū)別?
雖然 env 和 set 都可以列出變量,但它們的關(guān)注點不同:
命令 | 主要作用 | 內(nèi)容范圍 |
---|---|---|
env | 查看當前環(huán)境變量 | 只顯示 export 出去的環(huán)境變量 |
set | 查看所有變量(包括環(huán)境變量、局部變量、函數(shù)) | 更全面,內(nèi)容更多 |
- env 只列出那些可以傳遞給子進程的環(huán)境變量。
- set 除了環(huán)境變量,還列出普通 shell 變量、定義的函數(shù)等,輸出內(nèi)容更多。
舉例說明:
# 定義一個普通變量 MYVAR="test" env | grep MYVAR # 查不到 set | grep MYVAR # 可以看到
只有 export 過的變量才屬于環(huán)境變量,會出現(xiàn)在 env 列表里~
三、如何設(shè)置環(huán)境變量
1、臨時設(shè)置(僅當前終端有效)
可以使用 export 命令臨時設(shè)置一個環(huán)境變量:
export MYVAR="test"
輸入之后,我們使用env命令,就可以看到自己定義的MYVAR環(huán)境變量了。這種設(shè)置只在當前 shell 會話有效,關(guān)閉終端后失效。
臨時設(shè)置環(huán)境變量之所以只能在當前終端會話中有效,是因為它們存儲在內(nèi)存中的當前進程環(huán)境。當你使用 export 命令設(shè)置環(huán)境變量時,實際上是在當前 shell 進程的內(nèi)存中為該變量分配空間。這些變量只對當前 shell 及其啟動的子進程可見,一旦該 shell 進程退出,內(nèi)存中的這些變量就會被清除。因此,它們不會在新開啟的終端會話或新啟動的進程中自動存在。
如果想要取消臨時設(shè)置,則:
unset MYVAR
取消后,在當前終端中該變量就不存在了。
2、 永久設(shè)置(每次終端啟動都生效)
如果想讓環(huán)境變量永久生效,需要將 export 語句寫到終端配置文件中,比如Bash 用戶:~/.bashrc 或 ~/.bash_profile。
# 編輯配置文件 vim ~/.bashrc # 添加一行 export MYVAR="test" # 保存并讓其立刻生效 source ~/.bashrc
永久設(shè)置環(huán)境變量是將變量的定義寫入到特定的配置文件(如 ~/.bashrc),這些配置文件在每次啟動一個新的終端會話時會自動被讀取和執(zhí)行。因此,當你在這些文件中加入 export 語句時,這些變量會在每次打開新的終端窗口時自動加載并生效。這種設(shè)置方式不依賴于當前的 shell 會話,而是與系統(tǒng)配置文件的加載機制相關(guān)。所以每次你登錄或打開新的終端時,這些變量都會被初始化并繼承下來。
如果想要取消設(shè)置,則不僅需要運行上述的unset
unset MYVAR
還需執(zhí)行:
source ~/.bashrc
刷新配置后,變量就永久取消了。
四、總結(jié)
- 臨時設(shè)置環(huán)境變量:變量僅在當前終端的 shell 進程中有效,當終端關(guān)閉時丟失。是因為它們存儲在內(nèi)存中的當前進程。
- 永久設(shè)置環(huán)境變量:變量通過寫入配置文件,使得在每次新開啟終端時,系統(tǒng)會重新讀取并加載這些環(huán)境變量,從而使變量保持持久性。
到此這篇關(guān)于Linux查看、設(shè)置與取消環(huán)境變量詳解的文章就介紹到這了,更多相關(guān)Linux環(huán)境變量操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于windowx的Hyper-v安裝CentOS系統(tǒng)
這篇文章主要介紹了基于windowx的Hyper-v安裝CentOS系統(tǒng) ,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07CentOS6.7系統(tǒng)中配置LNMP環(huán)境
LNMP 代表的就是:Linux系統(tǒng)下Nginx+MySQL+PHP這種網(wǎng)站服務器架構(gòu)。LNMP 這種架構(gòu)目前也是非常流行,今天我們就來看下如何在CentOS6.7系統(tǒng)中配置LNMP環(huán)境2016-10-10Linux下安裝Oracle(CentOS-Oracle 12c)的方法
這篇文章主要介紹了Linux下安裝Oracle(CentOS-Oracle 12c)的方法,本文實例講解,介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起看看吧2016-11-11