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 程式內部程式定義的,使用...