shell程式設計 有型別的變數

2022-07-03 07:15:11 字數 1859 閱讀 4194

1、通過 declare 和 typeset 命令

2、declare 引數如下

3、舉例:

例1: 宣告為不可變形式, declare -r

$ var=hello

$ var=world

$ echo $var

列印出:world     // 說明 var是可變的

$declare -rvar=hello

$ var=world  

列印結果:-bash: var: 唯讀變數

例2:宣告為整型, declare -i

$ num=10

$ num2=$num+20

$ echo $num2

列印出:10+20

$ expr $num + 20

列印出:30

$ num=10

$ declare -i num3

$ num3=$num+90

$ echo $num3

列印出:100

例3:顯示出系統中定義的函式名及函式體

$ declare -f

例4: 顯示出系統中定義的所有函式的函式名

$ declare -f

例5:宣告為陣列, declare -a

$ declare -a array       // 宣告乙個陣列

$ array=("jones" "mike" "kobe" "jordan")     // 賦值

輸出陣列內容:

$ echo $    //  輸出全部內容,列印出:jones mike kobe jordan

$ echo $     // 輸出陣列元素下標為0的值,列印出:jones

獲取陣列長度:

$ echo $     // 輸出陣列長度,列印出:4

$ echo $     // 輸出陣列第0個元素的長度,列印出:5

給陣列某個下標賦值:

$ array[0]=lisi

$ echo $     // 輸出:lisi mike kobe jordan

給陣列尾部新增乙個元素:

$ array[10]=zhangsan    // 下標必須大於陣列長度 - 1,可以大很多

刪除元素:

$ unset array[2]    // 刪除陣列的第三個元素

$ unset array   // 清空整個陣列

分片訪問:

$ echo $     // 從下標為 1 的位置開始,向後取 3個元素,忽略中間的空元素,直到取夠 3個元素。如果元素不足3個,則輸出後面的所有元素即可。

內容替換:

$ array2=$    // 將陣列中所有 ke 替換為 ke。  

$ echo $

陣列遍歷:

for v in $

doecho $v

done 

例6: 宣告為環境變數  declare -x     

$ declare -x num    // num 成為環境變數後,就可以在指令碼中直接使用。   如果不是環境變數,則只能在這個終端裡面使用。

4、取消宣告的變數

declare +r

declare +i

declare +a

declare +x

總結:向陣列array [0,1,2,3,4]末尾新增元素,如果陣列長度為5,新增新元素 7的時候下標指向的是 7,那麼陣列為 [0,1,2,3,4, , ,7],這時候陣列長度為6,此時 array[5] 和 array[6] 值為空,array[7] 的值為7。

Shell程式設計 shell變數的作用 型別

2.特殊的shell變數 用來存放系統和使用者需要使用的特定引數 值 變數名 使用固定的名稱,由系統預設或使用者定義 變數值 能夠根據使用者設定 系統環境的變化而變化 自定義變數 由使用者自己定義 修改和使用 特殊變數 環境變數 唯讀變數 位置變數 預定義變數 變數名以字母或下劃線開頭,區分大小寫,...

shell 04 有型別變數

一 有型別變數 舉例 declare r 將變數設為唯讀 declare r var hello shell var hello world 報錯 bash var readonly variable declare i 將變數設為整數,如果不申明就是10 100 字串呈現 num1 10 decl...

Shell 程式設計 變數

bin bash 特殊用法,告訴執行指令碼的直譯器 注釋符號 執行指令碼 test.sh 使用絕對路徑 root path test.sh 使用直譯器執行 bash test.sh shell 變數 是傳遞資料的是一種方法,變數是用來代表每個值的符號名 臨時變數 shell 程式內部程式定義的,使用...