還是圍繞以下幾個問題進行學習;
1.declare是什么?
2.問什么要用declare?
3.怎樣使用declare?
1.declare是什么?
♦declare應用的很多,向我們各種語言都會有聲明,只是有的不用declare來聲明,想orcl中語句塊的寫法就用的是declare來聲明,實際上就是我要用你這個變量我必須知道你是什么類型?我才能用你,不然或許定義的時候沒有報錯,但是最后的結果卻不是你想要的。
♦declare命令用於聲明和顯示已存在的shell變量。當不提供變量名參數時顯示所有shell變量。declare命令若不帶任何參數選項,則會顯示所有shell變量及其值。declare的功能與typeset命令的功能是相同的。
2.問什么要用declare?
♦因為我們想達到某種結果就需要對變量進行一些類型或者其他的聲明,這樣shell才能識別出來他是什么,然后使用這個類型的特殊算法輸出自己想要的東西。
3.怎樣使用declare?
功能介紹:聲明變量的屬性,如果使用declare,后面沒有任何參數,那么bash就會主動將所有變量名與內容都調出來,just as set.
語 法:
declare(選項)(參數)
參數說明:
-a :將后面的variable定義為數組 -i :將后面的variavle定義為整數數字 -x :用法與export一樣,就是將后面的variable變成環境變量 -r :將一個variable的亦是設置成只讀,讀變量不可更改內容,也不能unset
eg:
1、將變量sum對200+400求和
♦1.1.不聲明:
1、將變量sum對200+400求和 [root@linux ~]#sum=200+400
[root@linux ~]#echo $sum
200+400——–此處並沒有像我們想像中那樣會得到結果600,而是 200+400,這是由於它是文字類型的變量屬性
♦1.2.聲明
[root@linux ~]#declare -i sum=200+400
[root@linux ~]#echo $sum
600————明白了吧
2、將sum變成環境變量
[root@linux ~]#declare -x sum
3、讓sum變成只讀屬性,不可更改
[root@linux ~]#declare -r sum
[root@linux ~]#sum=apple
-bash: sum: readonly variable [root@linux ~]#unset sum
-bash: unset: sum: cannot unset: readonly variable
在這里要特別說明一下:聲明為只讀變量之后,不能修改該變量的屬性,也不能刪除該變量,所以,在聲明變量的時候,應該慎用,避免有去無回。另外,你在命令行中敲readonly,你會發現有很多只讀變量,當然這些變量也是不能夠被修改或刪除的。