Linux查看、設(shè)置與取消環(huán)境變量詳解
一、如何查看環(huán)境變量
Linux 中有多種方式可以查看環(huán)境變量,最常用的是以下幾種:
1、env
env 命令可以列出當(dāng)前終端會話中的所有環(huán)境變量,格式是一行一個 變量名=值。
env
運(yùn)行結(jié)果如下:

如果只想查看某一個變量,可以結(jié)合 grep:
env | grep PATH
運(yùn)行結(jié)果如下:

2、使用 printenv
printenv 與 env 類似,也能列出環(huán)境變量。它還可以直接指定要查看的單個環(huán)境變量:
printenv
運(yùn)行結(jié)果如下,和運(yùn)行env貌似沒有什么區(qū)別~

如果只想查看一個變量,采用printenv+變量名
printenv PATH

3、使用 echo
如果已經(jīng)知道變量名,也可以用 echo 直接查看其值:
echo $PATH

二、env 和 set 有什么區(qū)別?
雖然 env 和 set 都可以列出變量,但它們的關(guān)注點(diǎn)不同:
| 命令 | 主要作用 | 內(nèi)容范圍 |
|---|---|---|
| env | 查看當(dāng)前環(huán)境變量 | 只顯示 export 出去的環(huán)境變量 |
| set | 查看所有變量(包括環(huán)境變量、局部變量、函數(shù)) | 更全面,內(nèi)容更多 |
- env 只列出那些可以傳遞給子進(jìn)程的環(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í)設(shè)置(僅當(dāng)前終端有效)
可以使用 export 命令臨時(shí)設(shè)置一個環(huán)境變量:
export MYVAR="test"
輸入之后,我們使用env命令,就可以看到自己定義的MYVAR環(huán)境變量了。這種設(shè)置只在當(dāng)前 shell 會話有效,關(guān)閉終端后失效。
臨時(shí)設(shè)置環(huán)境變量之所以只能在當(dāng)前終端會話中有效,是因?yàn)樗鼈兇鎯υ趦?nèi)存中的當(dāng)前進(jìn)程環(huán)境。當(dāng)你使用 export 命令設(shè)置環(huán)境變量時(shí),實(shí)際上是在當(dāng)前 shell 進(jìn)程的內(nèi)存中為該變量分配空間。這些變量只對當(dāng)前 shell 及其啟動的子進(jìn)程可見,一旦該 shell 進(jìn)程退出,內(nèi)存中的這些變量就會被清除。因此,它們不會在新開啟的終端會話或新啟動的進(jìn)程中自動存在。
如果想要取消臨時(shí)設(shè)置,則:
unset MYVAR
取消后,在當(dāng)前終端中該變量就不存在了。
2、 永久設(shè)置(每次終端啟動都生效)
如果想讓環(huán)境變量永久生效,需要將 export 語句寫到終端配置文件中,比如Bash 用戶:~/.bashrc 或 ~/.bash_profile。
# 編輯配置文件 vim ~/.bashrc # 添加一行 export MYVAR="test" # 保存并讓其立刻生效 source ~/.bashrc
永久設(shè)置環(huán)境變量是將變量的定義寫入到特定的配置文件(如 ~/.bashrc),這些配置文件在每次啟動一個新的終端會話時(shí)會自動被讀取和執(zhí)行。因此,當(dāng)你在這些文件中加入 export 語句時(shí),這些變量會在每次打開新的終端窗口時(shí)自動加載并生效。這種設(shè)置方式不依賴于當(dāng)前的 shell 會話,而是與系統(tǒng)配置文件的加載機(jī)制相關(guān)。所以每次你登錄或打開新的終端時(shí),這些變量都會被初始化并繼承下來。
如果想要取消設(shè)置,則不僅需要運(yùn)行上述的unset
unset MYVAR
還需執(zhí)行:
source ~/.bashrc
刷新配置后,變量就永久取消了。
四、總結(jié)
- 臨時(shí)設(shè)置環(huán)境變量:變量僅在當(dāng)前終端的 shell 進(jìn)程中有效,當(dāng)終端關(guān)閉時(shí)丟失。是因?yàn)樗鼈兇鎯υ趦?nèi)存中的當(dāng)前進(jìn)程。
- 永久設(shè)置環(huán)境變量:變量通過寫入配置文件,使得在每次新開啟終端時(shí),系統(tǒng)會重新讀取并加載這些環(huán)境變量,從而使變量保持持久性。
到此這篇關(guān)于Linux查看、設(shè)置與取消環(huán)境變量詳解的文章就介紹到這了,更多相關(guān)Linux環(huán)境變量操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Apache中利用mod_rewrite實(shí)現(xiàn)防盜鏈
自從上次在博客中推薦《you are my everything》以后,服務(wù)器的流量突然多了起來,有幾次甚至導(dǎo)致了VPS的當(dāng)機(jī)。后來經(jīng)過分析:盜鏈這個MP3的網(wǎng)頁包括諸如QQ空間、校內(nèi)網(wǎng)空間、更有甚者還放到了Taobao小店、個人博客也有不少,全部作為了背景音樂,并且導(dǎo)致各種爬蟲瘋狂抓取這個文件。找到了問題原因就只有一個辦法了,就是利用Apache的mod_rewrite模塊把盜鏈行為拒之門外。2008-04-04
Linux使用mmap調(diào)用創(chuàng)建、讀寫和釋放共享內(nèi)存區(qū)域
共享內(nèi)存是Linux系統(tǒng)中一種高效的進(jìn)程間通信(IPC)機(jī)制,允許多個進(jìn)程訪問同一塊物理內(nèi)存區(qū)域,在所有IPC機(jī)制中,共享內(nèi)存是最快的一種,因?yàn)樗苊饬藬?shù)據(jù)在內(nèi)核空間和用戶空間之間的復(fù)制,本文將詳細(xì)介紹如何使用mmap系統(tǒng)調(diào)用創(chuàng)建、讀寫和釋放共享內(nèi)存區(qū)域2025-11-11
Linux關(guān)機(jī)時(shí)執(zhí)行指定腳本功能實(shí)現(xiàn)
本篇文章給大家分享了Linux關(guān)機(jī)時(shí)執(zhí)行指定腳本功能的實(shí)現(xiàn)詳解,對此有需要的朋友跟著小編一起學(xué)習(xí)下。2018-03-03
實(shí)現(xiàn)一臺或者多臺Linux實(shí)例解綁SSH密鑰對
在本篇文章中我們給大家分享了一篇如何為一臺或者多臺 Linux 實(shí)例解綁 SSH 密鑰對的相關(guān)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。2018-10-10
詳解Linux查看實(shí)時(shí)網(wǎng)卡流量的幾種方式
本篇文章中主要介紹了詳解Linux查看實(shí)時(shí)網(wǎng)卡流量的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
在Ubuntu上安裝和配置MPI環(huán)境的詳細(xì)步驟
在 Ubuntu 上配置 MPI(消息傳遞接口)環(huán)境,常用的是 OpenMPI,它是一個高效、常用的開源 MPI 實(shí)現(xiàn),以下是如何在 Ubuntu 上安裝和配置 MPI 環(huán)境的詳細(xì)步驟,需要的朋友可以參考下2025-05-05
Linux(CentOS7)安裝Tomcat與設(shè)置Tomcat為開機(jī)啟動項(xiàng)(tomcat8為例)
本文以tomcat8為例給大家介紹Linux(CentOS7)安裝Tomcat與設(shè)置Tomcat為開機(jī)啟動項(xiàng),非常不錯,需要的朋友參考下2019-10-10

