1. 程式人生 > >bash中變量的種類

bash中變量的種類

引用 9.png 及其 ssi val 命令 查看 劃分 技術

根據變量的生效範圍等標準劃分下面變量類型:

    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

    • "":弱引用,其中的變量引用會被替換為變量值
    • ‘‘:強引用,其中的變量引用不會被替換為變量值,而保持原字符串

顯示已定義的所有變量:set

刪除變量:unset name

bash中變量的種類