Shell數組

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[@]}獲取的是關聯數組的全部下標值組成的數組

shell經過自定義分隔符分隔數組

#!/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[@]} 獲取數組的長度。
相關文章
相關標籤/搜索