Linux declare命令

Linux 命令大全 Linux 命令大全

Linux declare命令用於聲明 shell 變數。

declare為shell指令,在第一種語法中可用來聲明變數並設置變數的屬性([rix]即為變數的屬性),在第二種語法中可用來顯示shell函數。若不加上任何參數,則會顯示全部的shell變數與函數(與執行set指令的效果相同)。

語法

declare [+/-][rxi][變數名稱=設置值] 或 declare -f

參數說明

  • +/-  "-"可用來指定變數的屬性,"+"則是取消變數所設的屬性。
  • -f  僅顯示函數。
  • r  將變數設置為只讀。
  • x  指定的變數會成為環境變數,可供shell以外的程式來使用。
  • i  [設置值]可以是數值,字串或運算式。

實例

聲明整數型變數

# declare -i ab //聲明整數型變數

# ab=56 //改變變數內容
# echo $ab //顯示變數內容
56

改變變數屬性

# declare -i ef //聲明整數型變數

# ef=1  //變數賦值(整數值)
# echo $ef //顯示變數內容
1
# ef="wer" //變數賦值(文本值)
# echo $ef
0
# declare +i ef //取消變數屬性

# ef="wer"
# echo $ef
wer

設置變數只讀

# declare -r ab //設置變數為只讀
# ab=88 //改變變數內容
-bash: ab: 只讀變數
# echo $ab //顯示變數內容
56

聲明數組變數

# declare -a cd='([0]="a" [1]="b" [2]="c")' //聲明數組變數
# echo ${cd[1]}
b //顯示變數內容

# echo ${cd[@]} //顯示整個數組變數內容

a b c

顯示函數

# declare -f
command_not_found_handle ()
{
  if [ -x /usr/lib/command-not-found ]; then
    /usr/bin/python /usr/lib/command-not-found -- $1;
    return $?;
  else
    if [ -x /usr/share/command-not-found ]; then
      /usr/bin/python /usr/share/command-not-found -- $1;
      return $?;
    else
      return 127;
    fi;
  fi
}

Linux 命令大全 Linux 命令大全