根據變量的生效范圍等標准划分下面變量類型:
set:查看所有變量(全局變量,局部變量還有函數)
1.局部變量(標准變量,普通變量):生效范圍為當前shell進程---當前會話(session);對當前shell之外的其它shell進程,包括當前shell的子shell進程均無效
echo $$:當前進程編號(4496)
echo $PPID:父進程編號(4272)
直觀查看進程父子關系:pstree -p
2.環境(全局)變量:生效范圍為當前shell進程及其子進程(export=declare -x|env命令可以查看系統中環境變量)
第一種定義方法:name=mage------export name
第二種定義方法:export name=mage
第三種定義方法:declare -x name=mage
3.本地變量:生效范圍為當前shell進程中某代碼片斷,通常指函數
4.位置變量:$1, $2, ...來表示,用於讓腳本在腳本代碼中調用通過命令行傳遞給它的參數
5.特殊變量:$?, $0, $*, $@, $#,$$
變量賦值:name=‘value’
-
可以使用引用value:
- (1) 可以是直接字串; name=“root"
- (2) 變量引用:name="$USER"
- (3) 命令引用:name=`COMMAND` name=$(COMMAND)
-
變量引用:${name} $name
- "":弱引用,其中的變量引用會被替換為變量值
- '':強引用,其中的變量引用不會被替換為變量值,而保持原字符串