這篇文章主要介紹了Linux Shell腳本系列教程(六):數組和關聯數組,本文講解了什麼是數組和關聯數組、定義打印普通數組、定義打印關聯數組等內容,需要的朋友可以參考下
一、數組和關聯數組
數組是Shell腳本非常重要的組成部分,它借助索引將多個獨立的獨立的數據存儲為一個集合。普通數組只能使用整數作為數組索引,關聯數組不僅可以使用整數作為索引,也可以使用字符串作為索引。通常情況下,使用字符串做索引更容易被人們理解。Bash從4.0之後開始引入關聯數組。
二、定義打印普通數組
數組的方法有如下幾種:
代碼如下:
#在一行上列出所有元素
array_var=(1 2 3 4 5 6)
#以“索引-值”的形式一一列出
array_var[0]="test1"
array_var[1]="test2"
array_var[2]="test3"
注意:第一種方法要使用圓括號,否則後面會報錯。
數組元素的方法有如下幾種:
代碼如下:
echo ${array_var[0]} #輸出結果為 test1
index=2
echo ${array_var[$index]} #輸出結果為 test3
echo ${array_var[*]} #輸出所有數組元素
echo ${array_var[@]} #輸出所有數組元素
echo ${#array_var[*]} #輸出值為 3
注意:在ubuntu 14.04中,shell腳本要以#!/bin/bash開頭,且執行腳本的方式為 bash test.sh。
三、定義打印關聯數組
定義關聯數組
在關聯數組中,可以使用任何文本作為數組索引。定義關聯數組時,首先需要使用聲明語句將一個變量聲明為關聯數組,然後才可以在數組中添加元素,過程如下:
代碼如下:
declare -A ass_array #聲明一個關聯數組
ass_array=(["index1"]=index1 ["index2"]=index2)#內嵌“索引-值”列表法
ass_array["index3"]=index3
ass_array["index4"]=index4
echo ${ass_array["index1"]} #輸出為index1
echo ${ass_array["index4"]}
echo ${!ass_array[*]} #輸出索引列表
echo ${!ass_array[@]} #輸出索引列表
注意:對於普通數組,使用上面的方法依然可以列出索引列表,在聲明關聯數組以及添加數組元素時,都不能在前面添加美元符$