1. 程式人生 > >bash腳本之數組學習

bash腳本之數組學習

mage 得到 cnblogs com sso 方式 位置 ech ges

在bash中可使用索引數組和關聯數組,bash在4.0版本之後才添加了對關聯數組的支持

一、索引數組

1、定義索引數組

# 方式1
array_value=(1 2 3 4 5 6)
或者
array_value=(1, 2, 3, 4, 5, 6) # 方式2 array_value[0]=‘test1‘ array_value[2]=‘test2‘ ...... array_value[5]=‘test6‘

如同其他腳本語言一樣,bash中的索引數組起始位置從0開始

2、打印數組某一項

echo ${array_value[0]}
或者
index=5
echo ${array_value[$index]}

打印結果如下:

技術分享

3、打印數組的所有值

echo ${array_value[*]}
或者
echo ${array_value[@]}

打印結果如下:

技術分享

4、打印數組長度

echo ${#array_value[*]}
或者
echo ${#array_value[@]}

註意區別打印數組長度與字符串長度的方式
如果使用 echo ${#array_value}得到的結果為1,則不是正確結果

打印結果如下:

技術分享

錯誤方式:

技術分享

二、關聯數組

1、定義關聯數組

# 定義關聯數組 assoc_array
declare -A assoc_array

2、插入元素

assoc_array=([index1]=val1 [index2]=val2)
或者
assoc_array[index1]=val1
assoc_array[index2]=val2

例如:

技術分享

3、列出數組索引

echo ${!assoc_array[*]}
或者
echo ${!assoc_array[@]}

此方式同樣適用於索引數組

結果如下:

技術分享

bash腳本之數組學習