數(shù)組 (array) 變量類型
數(shù)組中的值: wukong bajie shaseng
值的索引號: 0 1 2
數(shù)組的索引只能是
整數(shù)
# 定義一個數(shù)組
var=(wukong bajie shaseng)
echo ${var[2]} //顯示數(shù)組中索引號為 2 的值,索引號從 0 開始
輸出 shaseng
echo ${var[*]} //顯示數(shù)組中所有的值
輸出 wukong bajie shaseng
定義數(shù)組,并且其值從命令的結(jié)果中獲取
# 把文件中的每一行作為數(shù)組中的一個值
line=(`cat /etc/passwd`)
declare 聲明關(guān)聯(lián)數(shù)組
數(shù)組的索引可以是
普通字符串
聲明關(guān)聯(lián)數(shù)組使用 A
選項
declare -A 數(shù)組名稱
1. 聲明
# 聲明關(guān)聯(lián)數(shù)組业汰,數(shù)組名稱為 info
[shark@sharkyun ~]$ declare -A info
2. 添加值
- 每次添加一個值哆致,可以追加
示例:
[shark@sharkyun ~]$ info[name]=shark
[shark@sharkyun ~]$ info[age]=18
[shark@sharkyun ~]$ echo ${info[name]} # 顯示索引對應(yīng)的值
shark
[shark@sharkyun ~]$ echo ${info[age]}
18
- 一次添加所以的值扛邑,不可以追加荣德,每次都會覆蓋上次的值
每個值之間使用 空格 隔開
var=([key1]="value1" [key2]="value2")
示例:
[root@kube-master script]# declare -A color
[root@kube-master script]# color=(["red"]="#ff0000", ["green"]="#00ff00")
[root@kube-master script]# echo ${color[*]}
#ff0000, #00ff00
[root@kube-master script]# color=(["a"]="#ff") # 這樣會覆蓋原來的值姻檀,因為這是在重新定義變量 color
[root@kube-master script]# echo ${color[*]}
#ff
[root@kube-master script]# color=(["b"]="ff")
[root@kube-master script]# echo ${color[*]}
ff
[root@kube-master script]# color[c]="#cc"
[root@kube-master script]# echo ${color[*]}
ff #cc
[root@kube-master script]# echo ${!color[*]} # 獲取所有的 索引號
b c
[root@kube-master script]# echo ${#color[*]} # 統(tǒng)計數(shù)組中有多少個鍵值對
2
刪除
[root@kube-master arry]# unset info[name]
[root@kube-master arry]# echo ${!info[*]}
age
</article>