一、什麼是環境變量
什麼是變量?
簡單來說就是,以一組文字或符号等,來代替一些設定或者是一串保留的資料。
比如,設定了“myname”就是“honey”,是以當我們讀取myname這個變量的時候,系統自然會知道那就是honey。
而環境變量的存在,是因為在Linux中,所有的執行都需要一個執行碼,我們在登入Linux後,是以shell來和Linux通信的,才可以真正經由bash來跟系統通信。而在進入shell之前,系統需要一些變量來提供他資料的通路(或者是一些環境的設定參數值),是以就有一些所謂的“環境變量”需要來讀入系統中。
例如:PATH、HOME、MAIL、SHELL等,為了區分與自定義變量的不同,環境變量一般以大寫字母來表示。
二、變量的顯示與設定
1、顯示變量:echo
如下:
用echo讀出變量,隻需要在變量前加上$,或者以${變量}的方法。echo還有其他很多功能,讀者可以man一下。
2、設定或修改變量
用“=”即可,如下:
未設定時,一個變量名預設為空。
變量的設定規則:
1)、等号兩邊不能直接接空格符,如下
2)、變量名稱隻能是英文字母或數字,且第一個字元不能為數字
3)、變量内容若有空格符可使用雙引号或者單引号将變量内容結合起來,但是兩者有差別
雙引号内的特殊字元,可以保持原有的性質;
單引号内的特殊字元,僅為一般字元,即純文字。
如下,觀察兩者差別:
4)、可用轉義字元“\”将特殊符号變成一般字元
5)、若該變量需要在其他子程序執行,則需要以export來使其變為環境變量。
通常環境變量為大寫字元,自行設定變量時可以使用小寫字元便于區分。
3、unset--取消變量
如下:
三、關于環境變量
1、env的使用
檢視環境變量與常見環境變量說明:
我隻放了一部分圖,下面解釋一下常用的環境變量
HOME:代表使用者的主檔案夾
SHELL:告知我們目前環境使用的shell,Linux預設使用/bin/bash
HISTSIZE:我們執行過的指令可以被記錄下來,而記錄的條數則是這個值來設定的
MAIL:當我們使用mail這個指令在收信時系統會去讀取的郵件信箱檔案
PATH:執行檔案查找的路徑
LANG:語系資料
RANDOM:随機數的變量,介于0至32767之間
2、set--檢視所有變量
這裡隻放了一部分,set會将bash内的所有變量顯示出來。
3、export---将自定義變量轉成環境變量
我們知道自定義變量相當于局部變量,環境變量相當于全局變量,若讓子程序繼續引用父程序的自定義變量,就要将其轉化為環境變量。