1. 程式人生 > 其它 >Shell運算子(1) - declare宣告變數

Shell運算子(1) - declare宣告變數

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 變數

  #查詢指定變數的屬性