1、系統變數 SHELL環境變數分類: 作用域分類為全局變數和局部變數、 系統變數和用戶自定義變數。 列印系統全局變數命令:env、printenv 列印系統局部變數命令:set 在編輯器中查看系統全局變數命令:env | less 在編輯器中查看系統局部變數命令:set | less (全局變數可 ...
1、系統變數
SHELL環境變數分類:
作用域分類為全局變數和局部變數、
系統變數和用戶自定義變數。
列印系統全局變數命令:env、printenv
列印系統局部變數命令:set
在編輯器中查看系統全局變數命令:env | less
在編輯器中查看系統局部變數命令:set | less
(全局變數可以在子shell中查看、修改。)
(系統局部變數可以繼承到子shell,但修改子shell中的局部變數不會改變父shell中的局部變數。)
2、用戶自定義變數
定義變數方法命令:變數名=值
(等號兩邊沒有空格)
(若值中有空格可以用單引號或者雙引號把值括起來)
(預設定義的變數都是字元串類型)
如果在定義變數時候需要進行整形計算則使用$(())或者$[]
例如:變數名=$((3+5))、變數名=$[5+9]
變數升級為全局變數命令:export 變數名
(升級為全局變數後可以被子shell繼承)
(子shell中的局部變數不會改變父shell中的局部變數)
撤銷變數命令:unset 變數名
設置靜態變數命令:readonly 變數名(靜態變數不能unset)
3、特殊變數
處理腳本輸入的變數
source 腳本名稱 參數
腳本輸入參數:$0、$1、$2
腳本中用$1表示第一個參數,$2表示第二個參數,$0表示腳本名稱。
腳本輸入參數個數:$#
所有參數的整體:$*
使用for迴圈遍歷每一個參數:$@
最後一次執行命令的返回狀態:$?(正常執行返回0,執行錯誤返回其他值)
3、執行腳本的區別
創建子shell並且在子shell中執行.sh腳本命令:./***.sh、bash ***.sh
在當前shell中執行腳本:. ***.sh、source ***.sh