bash支持一維數組(不支持多維數組),並且沒有限定數組的大小。
類似與C語言,數組元素的下標由0開始編號。獲取數組中的元素要利用下標,下標可以是整數或算術表達式,其值應大於或等於0。
定義數組
在Shell中,用括號來表示數組,數組元素用"空格"符號分割開。定義數組的一般形式爲:
數組名=(值1 值2 ... 值n)
示例:
[root@bogon ~]# array_name=(v0 v1 v2 v3)
讀取數組
讀取數組元素值的一般格式是:
${數組名[下標]}
示例:
[root@bogon ~]# array_name=(v0 v1 v2 v3)
[root@bogon ~]# echo ${array_name[3]} //讀取第三個數組
v3
[root@bogon ~]#
使用 @ 符號可以獲取數組中的所有元素:
[root@bogon ~]# echo ${array_name[@]} //列出數組裏面所有元素
v0 v1 v2 v3
[root@bogon ~]#
獲取數組的長度
獲取數組長度的方法與獲取字符串長度的方法相同,例如:
[root@bogon ~]# array_name=(v0 v1 v2 v3 v4 v5 v6)
[root@bogon ~]# echo ${#array_name[@]}
7
或者:
[root@bogon ~]# echo ${#array_name[*]}
7
[root@bogon ~]#
獲取數組單個元素長度
[root@bogon ~]# array_name=(v0 v1 v2 vvv3 v4 v5 v6)
[root@bogon ~]# echo ${#array_name[3]}
4
[root@bogon ~]#