目錄shell
數組是一個頗有用的數據結構,常常使用的功能有初始化,遍歷,查找,獲取數組長度等操做數組
1、初始化bash
小括號中使用空格分開的數據結構就是一個數組,也可以使用下標添加元素數據結構
arr=(1 2 3) arr[3]="yum"
2、輸出數組code
echo ${arr[*]} # 也可使用*代替
3、遍歷數組索引
for e in ${arr[*] do echo ${e} done
4、獲取指定索引元素字符串
echo ${arr[1]}
5、獲取數組長度it
echo ${#arr[*]}
6、關聯數組for循環
聲明關聯數組 declare -A user 定義數組 user[name]='jack' user[age]=18
7、對關聯數組的遍歷class
for循環遍歷 for u in ${!user[@]} do echo "user's ${u} is : ${user[$u]} done 結果是: user's name is : jack user's age is : 18 備註:#{!user[@]}獲取的是關聯數組的全部下標值組成的數組
#!/bin/bash a="hello,world,nice,to,meet,you" #要將$a分割開,先存儲舊的分隔符 OLD_IFS="$IFS" #設置分隔符 IFS="," #以下會自動分隔 arr=($a) #恢復原來的分隔符 IFS="$OLD_IFS" #遍歷數組 for s in ${arr[@]} do echo "$s" done 變量$IFS存儲着分隔符,這裏咱們將其設爲逗號 "," OLD_IFS用於備份默認的分隔符,使用完後將之恢復默認。 arr=($a)用於將字符串$a按IFS分隔符分割到數組$arr ${arr[0]} ${arr[1]} ... 分別存儲分割後的數組第1 2 ... 項 ${arr[@]}存儲整個數組。 ${!arr[@]}存儲整個索引值:1 2 3 4 ... ${#arr[@]} 獲取數組的長度。