1. 程式人生 > >shell指令碼 陣列的使用

shell指令碼 陣列的使用

一: 陣列的定義

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


刪除整個陣列後輸出: