Linux中的環境變數知多少?
導讀 | 環境變數在進行 開發過程中經常碰到,那什麼是環境變數呢?很多朋友在剛學習Linux的時候對環境變數不是特別理解,變數不應該是在程式語言中類似於全域性變數和區域性變數嗎?怎麼又來了個環境變數? |
環境變數在進行linux開發過程中經常碰到,那什麼是環境變數呢?很多朋友在剛學習Linux的時候對環境變數不是特別理解,變數不應該是在程式語言中類似於全域性變數和區域性變數嗎?怎麼又來了個環境變數?
在我們主流的OS中幾乎都存在環境變數的概念,同樣在windows下也是存在環境變數的,如下圖所示:
其實這些所謂的環境變數就相當於一些資訊的簡稱,比如搜尋、查詢的路徑等等,以後應用程式可以獲取這些環境變數中包含的資訊來完成相應的工作,很多小夥伴有這樣的體會,經常在windows中執行剛安裝的軟體會需要在環境變數中新增一些路徑等資訊,否則軟體無法執行。
在Linux中也是類似的作用,當執行一個 ,系統會根據環境變數中的路徑資訊依次搜尋直到找到對應的程式執行。
Linux環境變數主要分為系統級別和使用者級級別,這點與windows也是非常類似的,如下圖所示:
不同級別的環境變數在 存在於不同的配置檔案,且他們的作用域也是不一樣的,所以這裡結合C語言的各種變數的作用域就可以更加方便理解所謂的環境變數了吧,同樣它也是一段常駐的記憶體標識。
我們在linux中斷中輸入printenv 即可檢視所有的環境變數:
其中比較常用的是環境變數PATH,可以使用printenv PATH或者echo $PATH來單獨檢視,如下圖所示,兩者完全一致:
PATH環境變數以冒號 : 進行分割,形成了多個路徑,當使用者輸入相應的命令便會依次從上面的路徑中查詢程式來執行。
比如:在終端中輸入ls命令列, 會從PATH變數中儲存的路徑來查詢ls執行程式來執行。
還是把上面的圖拿過來:
修改環境變數大體分為兩種辦法 :
1 ) 使用export命令列直接匯入;
2 ) 將export命令列儲存到如上圖所示的對應的檔案中適時進行載入匯入。
對於命令匯入的辦法是臨時的,而儲存到對應的檔案中可以覆蓋其作用域生效。
1、使用命令列"export 環境變數=新加入值:$環境變數",如下圖所示,這樣就加入了新的路徑。
2、當退出該終端重新進入,那麼之前使用export臨時加入的環境變數就會消失。
3、這種直接使用命令列的方式,可以立即生效,並且僅對當前使用者起作用,當重新開啟終端會失效。
1、相對命令列方式,其實僅僅只是把export命令列放到了相應的檔案中進行載入使用,我們進入到家目錄,然後編輯隱藏檔案.bashrc,然後把命令列追加到最後,如下圖所示:
2、加入到檔案並儲存以後,其環境變數不會立即生效,需要使用source命令執行一下,才能夠生效。
3、重新啟動終端,如下圖所示,其環境變數依然存在,因為~/.bashrc包含shell的bash資訊,當登入以及每次開啟新的shell時,該檔案被讀取,相應的命令也就會重新執行。
4、上面修改.bashrc僅僅只是在shell啟動時被載入,在其被載入前執行的程式均無效,所以就有不同作用域,比如環境變數儲存在~/.profile中,那麼圖形介面啟動程式就可以訪問到設定的環境變數,而設定到~/.bashrc中的便無法被圖形介面啟動程式訪問。
5、對於普通使用者其實將環境變數在.bashrc檔案中操作即可,如果修改了其他作用域更廣的配置,會影響到其他使用者,同時這些配置檔案也是逐級覆蓋的,啟動過程中後面載入的檔案會覆蓋前面相同的配置資訊。
好了,這裡小哥就介紹了一下Linux中環境變數的理解與使用,以後在安裝編譯器,或者make命令等等很多地方都會設計到環境變數的操作,希望本文能夠對你有幫助!
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2778613/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux中bash shell環境變數Linux變數
- Linux中修改環境變數PATH的方法Linux變數
- Linux 新增環境變數和刪除環境變數Linux變數
- 【Linux】環境變數!!!Linux變數
- Linux 環境變數Linux變數
- Bash 中的環境變數變數
- Linux中修改環境變數及生效方法(永久、臨時)環境變數檢視Linux變數
- linux環境顯示全部環境變數Linux變數
- Linux環境變數配置Linux變數
- Linux常用環境變數Linux變數
- 在Linux中,什麼是環境變數?如何設定和檢視環境變數?Linux變數
- Linux中修改環境變數及生效方法Linux變數
- 環境變數{Linux環境(也稱為Shell環境)}(轉)變數Linux
- Linux中jdk的安裝和環境變數的配置LinuxJDK變數
- linux java環境變數配置LinuxJava變數
- Linux配置環境變數$PATHLinux變數
- linux系統環境變數Linux變數
- Linux設定環境變數Linux變數
- linux配置jdk環境變數LinuxJDK變數
- [Linux] 檢視環境變數Linux變數
- linux 環境變數介紹Linux變數
- Linux - 新增PATH環境變數Linux變數
- linux配置java環境變數LinuxJava變數
- Linux 環境變數設定Linux變數
- linux工具配置環境變數Linux變數
- Bash 中的 _ 是不是環境變數變數
- Linux下將PHP新增到環境變數,將Mysql加入環境變數。LinuxPHP變數MySql
- 什麼是環境變數?Python中如何設定環境變數?變數Python
- 如何管理你的 Linux 環境變數Linux變數
- Linux下Java環境變數的配置LinuxJava變數
- linux基礎——shell變數(本地變數和環境變數)Linux變數
- 環境變數變數
- 修改linux下mysql環境變數LinuxMySql變數
- linux DISPLAY環境變數介紹Linux變數
- oracle中的全域性環境變數配置Oracle變數
- linux登入bash shell環境執行環境變數Linux變數
- linux下的PS1環境變數Linux變數
- linux 多工程的環境變數配置方法Linux變數