簡述SHELL全域性環境變數與局變環境變數
導讀 | 在 中,很多程式和 都通過環境變數來獲取系統資訊,儲存臨時資料,配置資訊。環境變數是指用來儲存有關 會話和工作環境資訊,允許你在記憶體中儲存資料,以便程式或shell中執行的 能夠輕鬆訪問到它們。也是儲存持久資料的一種簡便方法。在bash shell中,環境變數分為:全域性和區域性二類環境變數。 |
全域性環境變數對於shell會話和所有生成的子shell都是可見的。區域性變數則只是建立它們的shell可見。在 中有系統環境變數,它們基本都是使用全大寫字母,以區別普通使用者的環境變數。要檢視系統全域性變數,可以使用env , 如下圖所示:
要檢視個別的環境變數的值,可以使用printenv , 如下圖所示:
正如前面所說的,全域性變數在所有生成的子shell都是可見的,下面是用子shell輸出USER全域性變數,如下所示:
區域性環境變數雖然是區域性的,但和全域性環境變數一樣重要。在linux作業系統上有預設全域性環境變數也有區域性環境變數,使用者也可以自定義區域性變數。使用set 命令會顯示某個指定程式下的所有環境變數,包括全域性,局變,使用者自定義變數。
下是自定義一個區域性變數,使用echo來宣告一個變數名my_variable,並賦值一個字串(也可是數字)。然後再使用echo輸出該變數的值。如下圖所示:
要注意的點是:宣告變數名時必須加$關鍵詞, 賦值時不要加$關鍵詞,輸出時要加$關鍵詞,也可以說使用echo時都要加$。變數名,等號,值三者之間不能有空格。如果變數值有空格時,必須加雙引號。如下所示:
如果是在子shell中,那該變數就不存在,退回主執行緒還是存在,如下圖所示:
設定了全域性變數,在該程式所建立的子程式中,該變數都是可見的。建立全域性變數的方法是先建立一個區域性變數,然後匯出到全域性環境中。通過export來匯出,變數名前面不加$。如下圖所示:
在子shell中修改全域性變數並不會影響到父shell中該變數的值。這種改變僅在子shell中有效。並不會反映到父shell中。如下圖所示:
要刪除環境變數可以用unset命令,在unset引用變數名時,不要加$。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2852938/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell全域性(系統)環境變數變數
- mac配置全域性環境變數Mac變數
- npm 全域性環境變數配置NPM變數
- Shell配置環境變數變數
- oracle中的全域性環境變數配置Oracle變數
- 變數的分類(臨時(本地)變數、環境變數、全域性變數和系統變數)變數
- 介面測試實戰--postman全域性變數和環境變數Postman變數
- 環境變數變數
- linux基礎——shell變數(本地變數和環境變數)Linux變數
- 環境變數{Linux環境(也稱為Shell環境)}(轉)變數Linux
- Linux 新增環境變數和刪除環境變數Linux變數
- Java 環境變數Java變數
- jdk環境變數JDK變數
- DOS環境變數變數
- env 環境變數變數
- 環境變數path變數
- Java環境變數Java變數
- ORACLE 環境變數Oracle變數
- 配置環境變數變數
- postman環境變數Postman變數
- Makefile引用與環境變數變數
- Linux中bash shell環境變數Linux變數
- Shell啟動檔案與環境變數(轉)變數
- linux登入bash shell環境執行環境變數Linux變數
- 環境變數與TO DATE函式變數函式
- ubuntu JDK 環境變數UbuntuJDK變數
- 配置JDK環境變數JDK變數
- 環境變數詳解變數
- Flume 配置環境變數變數
- Java環境變數新增Java變數
- 【Linux】環境變數!!!Linux變數
- Kaldi配置環境變數變數
- MySQL 環境變數配置MySql變數
- unix下環境變數 .變數
- Linux 環境變數Linux變數
- oracle 環境變數 redhatOracle變數Redhat
- 設定環境變數變數
- SQL*PLUS 環境變數SQL變數