shell指令碼 陣列的使用
阿新 • • 發佈:2018-11-24
一: 陣列的定義
shell 只支援一維陣列(不支援多維陣列)
shell 陣列初始化的時候不需要定義陣列的大小,陣列元素的下標由0開始,shell陣列用括號來表示,元素之間用空格分隔開
可以使用@
或*
獲取陣列中的所有元素
#!/bin/bash #陣列 myarray=(123 "bb" "ccc" "dddd") myarray[4]=ee #根據下標獲取陣列的元素 echo ${myarray[0]} #獲取陣列中的所有元素 echo ${myarray[@]} echo ${myarray[*]} #獲取陣列元素的個數 echo ${#myarray[@]} echo ${#myarray[*]} #獲取單個元素的長度 echo ${#myarray[0]}
輸出:
123
123 bb ccc dddd ee
123 bb ccc dddd ee
5
5
3
二: 陣列遍歷、陣列元素的刪除
#!/bin/bash #陣列 myarray=(123 "bb" "ccc" "dddd") myarray[4]=ee #封裝遍歷陣列的方法 function TraverseArray() { for i in ${myarray[*]} do echo $i done echo -e "\n" #echo要支援轉義字元,只需要加上-e即可 } echo "遍歷陣列每個元素輸出:" TraverseArray #清除陣列單個元素 unset myarray[3] echo "刪除單個元素後輸出:" TraverseArray #刪除整個陣列 unset myarray echo "刪除整個陣列後輸出:" TraverseArray
輸出:
遍歷陣列每個元素輸出:
123
bb
ccc
dddd
ee
刪除單個元素後輸出:
123
bb
ccc
ee
刪除整個陣列後輸出: