declare [+/-] [選項] 變量名shell
其中:數組
-: 給變量設定類型屬性bash
+:取消變量的類型屬性spa
-i:將變量聲明爲整型code
-a:將變量聲明爲數組類型blog
-x:將變量聲明爲環境變量字符串
-r:將變量聲明爲只讀變量class
-p:顯示指定變量被聲明的類型test
1)-i示例: 聲明整型變量,因爲shell默認變量的類型是字符串類型,若是須要進行數值的運算,則須要將變量轉化爲整型變量
#!/bin/bash a=1 b=2 sum=$a+$b echo "默認字符串類型相加結果:" echo $sum declare -i sum=$a+$b echo "聲明爲整型相加結果:" echo $sum #輸出結果: 默認字符串類型相加結果: 1+2 聲明爲整型相加結果: 3
2)-a示例:聲明數組
#!/bin/bash # 聲明數組 declare -a arr #能夠不寫,shell能夠經過檢測中括號識別數組 arr[0]="a" arr[1]="b" arr[2]="c" # 默認打印數組第一個元素 echo ${arr} # 打印第二個元素 echo ${arr[1]} # 打印全部的元素 echo ${arr[*]} #輸出結果: a b a b c
3)-x示例:聲明全局變量
-x的功能和export 變量名功能相同,export只是declare -x 變量名的快捷方式
#!/bin/bash name="test" declare -x name # 等同效果 export name echo $name #輸出結果: test
4) -r示例:聲明只讀變量
-r會將變量變爲只讀,變爲只讀後,將不能進行修改,刪除,也不能取消只讀,只能重啓才能取消。
#!/bin/bash name="test" declare -r name echo $name name="abc" echo $name #輸出結果: test test.sh: line 7: name: readonly variable test
5)-p示例:顯示指定變量被聲明的類型
#!/bin/bash declare -i a declare -p a declare -a b declare -p b declare -x c declare -p c declare -r d declare -p d #輸出結果: declare -i a="" declare -a b='()' declare -x c="" declare -r d=""
示例:
#!/bin/bash a=1 b=2 sum=$(expr $a + $b) # 加號兩邊必定要留空格,否則會當成字符串鏈接起來 echo $sum #輸出結果: 3
#!/bin/bash a=1 b=2 sum=$(($a+$b)) # 加號兩邊加不加空格,無所謂 echo $sum result=$[$a-$b] echo $result #運行結果: 3 -1