標籤:迴圈數組 執行 nbsp 第一個 讀取 一個 表示 name body
數組中可以存放多個值
Shell數組用括弧來表示,元素用“空格”符號分割開
文法格式:
Array_name=(value1 value2 …valuen)
定義數組
array_name[0]=value0
array_name[1]=value1
array_name[2]=value2
讀取數組
${array_name[index]}
my_array=(A B "C" D)
echo "第一個元素為: ${my_array[0]}"
echo "第二個元素為: ${my_array[1]}"
echo "第三個元素為: ${my_array[2]}"
echo "第四個元素為: ${my_array[3]}"
執行指令碼,輸出結果如下所示:
第一個元素為: A
第二個元素為: B
第三個元素為: C
第四個元素為: D
擷取數組中所有元素
使用@或者*可以擷取數組中的所有元素
例如:
my_array=(A B "C" D)
echo "數組的元素為: ${my_array[*]}"
echo "數組的元素為: ${my_array[@]}"
執行結果
數組的元素為: A B C D
數組的元素為: A B C D
擷取數組的長度
y_array=(A B "C" D)
echo "數組元素個數為: ${#my_array[*]}"
echo "數組元素個數為: ${#my_array[@]}"
執行結果
數組元素個數為: 4
數組元素個數為: 4
迴圈數組
for
[[email protected] ~]# array=(a b c 1 2 3 )
[[email protected] ~]# echo ${array[@]}
[[email protected] ~]# a b c d 1 2 3 4
[[email protected] ~]#
for ((i=0;i<${#array[@]};i++))
do
echo ${array[i]}
done
執行結果
a
b
c
1
2
3
也可以寫為
[[email protected] ~]# for a in ${array[@]}
> do
> echo $a
> done
[[email protected] ~]# while [ $i -lt ${#array[@]} ]
> do
> echo ${array[$i]}
> let i++
> done
shell-數組的遍曆