Shell運算子(1) - declare宣告變數
阿新 • • 發佈:2021-08-03
declare宣告變數型別
格式
declare [+/-] [選項] [變數名]
選項
- -:給變數設定型別屬性
- +:取消變數的型別屬性
- -a :將變數宣告為陣列型
- -i :將變數宣告為整數型(integer)
- -x :將變數宣告為環境變數
- -r :將變數宣告為只讀變數
- -p :顯示指定變數的被宣告型別
把變數宣告為數值型
- 【root@localhost ~】# aa=11
- 【root@localhost ~】# bb=22
- #給變數aa和bb賦值
- 【root@localhost ~】# declare -i cc=$aa+$bb
- #宣告變數cc的型別是整數型,它的值是aa和bb的和
- #之前也講解了,加法,通過其他方式也可以實現,比如:cc=$(($aa+$bb))
宣告陣列變數
- 定義陣列
- 【root@localhost ~】# user[0]=zs
- 【root@localhost ~】# user[1]=ls
- 【root@localhost ~】# declare -a user[2]=ww
- 檢視陣列
- 【root@localhost ~】# echo ${user}
- 【root@localhost ~】# echo ${user[1]}
- 【root@localhost ~】# echo ${user[*]}
備註:
- 宣告陣列有兩種方式:變數[下標](只要變數有[下標],shell就知道它是陣列)或者declare -a 變數[下標]
- 陣列變數引用區別於其他變數,用的是話考好加變數角標:${變數[下標]};${變數}代表取得的陣列的第一個引數;${變數[*]}代表數組裡面所有引數
宣告環境變數
- declare -x 變數名=變數值
- 和export作用相似,但其實export實現的原理就是呼叫declare來實現的
- export 變數名=變數值
宣告變數只讀熟悉
- 【root@localhost ~】# declare -r test
- #給test賦予只讀屬性,但是請注意只讀屬性會讓變數不能修改不能刪除,甚至不能取消只讀屬性,只能通過重啟;用的很少,瞭解即可
查詢變數的屬性
- declare -p
#查詢所有變數的屬性
- declare -p 變數
#查詢指定變數的屬性