1echo $ <變量名> //顯示某個環境變量
2env // environment (環境) 的簡寫,列出來所有的環境變量
3set //顯示所有本地定義的Shell變量,這個命令除了會將環境變量列出來之外,其它我們的自定義的變量,都會被列出來。因此,想要觀察目前 shell 環境下的所有變量,就用 set 即可!
4export 命令
功能說明:設置或顯示環境變量。
語 法:export [-fnp][變量名稱]=[變量設置值]
補充說明:在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供后續執行的程序使用。export的效力僅及於該此登陸操作。
參 數:
-f 代表[變量名稱]中為函數名稱。
-n 刪除指定的變量。變量實際上並未刪除,只是不會輸出到后續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變量。
一個變量創建時,它不會自動 地為在它之后創建的shell進程所知。而命令export可以向后面的shell傳遞變量的值。當一個shell腳本調用並執行時,它不會自動得到原為腳本(調用者)里定義的變量的訪問權,除非這些變量已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變量的值到任何后繼腳本。
5unset清除環境變量,如果未指定值,則該變量值將被設為NULL
6readonly設置只讀變量,只讀變量設置后不能用unset清除,除非重啟shell
7declare 、typeset 這兩個命令是完全一樣的,他們允許指定變量的具體類型,在某些特定的語言中,
這是一種指定類型的很弱的形式,declare 命令是在 Bash 版本 2 或之后的版本才被加入的,typeset 命令也可以工作在 ksh 腳本中。
[root@linux ~]# declare [-aixr] variable
參數:
-a :將后面的 variable 定義成為數組 (array)
-i :將后面接的 variable 定義成為整數數字 (integer)
-x :用法與 export 一樣,就是將后面的 variable 變成環境變量;
-r :將一個 variable 的變量設定成為 readonly ,該變量不可被更改內容,也不能 unset
范例一:讓變量 sum 進行 100+300+50 的加總結果
[root@linux ~]# sum=100+300+50
[root@linux ~]# echo $sum
100+300+50 <==咦!怎么沒有幫我計算加總?因為這是文字型態的變量屬性啊!
[root@linux ~]# declare -i sum=100+300+50
[root@linux ~]# echo $sum
450
范例二:將 sum 變成環境變量
[root@linux ~]# declare -x sum
范例三:讓 sum 變成只讀屬性,不可更動!
[root@linux ~]# declare -r sum
[root@linux ~]# sum=tesgting
-bash: sum: readonly variable