linux declare 指令
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
}