Linux脚本关联,shell数组和关联数组
數組和關聯數組
Bash 支持普通數組和關聯數組,前者使用整數作為數組索引,后者使用字符串作為數組索引。
Bash 從4.0版本開始才支持關聯數組
1 數組
1.1 在單行中使用數值列表來定義一個數組:
array_var=(test1 test2 test3 test4 test5 test6)
還可以將數組定義成一組“索引-值”
array_var[0]="test1"
array_var[1]="test2"
array_var[2]="test3"
array_var[3]="test4"
array_var[4]="test5"
array_var[5]="test6"
1.2 打印出特定索引的數組元素內容跟:
echo ${array_var[0]}
index=3 && echo ${array_var[$index]}
1.3 以列表形式打印
echo ${array_var[*]}
或
echo ${array_var[@]}
1.4 打印數組長度
echo ${#array_var[*]}
或
echo ${#array_var[@]}
2 關聯數組
當使用字符串(站點名、用戶名、非順序數字等)作為索引時,關聯數組要比數字索引更容易使用。
2.1 定義關聯數組
關聯數組中,可以使用任意的文本作為數組索引
首先需要使用聲明語句將一個變量定義為關聯數組,然后可以使用兩種方法將元素添加到關聯數組中;
declare -A ass_array
2.1.1 使用行內“索引-值”進行賦值
ass_array=([index1]=val1 [index2]=val2)
2.1.2 使用獨立的”索引-值“進行賦值
ass_array[index1]=val1
ass_array[index2]=val2
2.1.3 例:關聯水果定價
declare -A fruits_value
fruits_value=([apple]='100 dollars' [orange]='150 dollars')
顯示水果定價
echo ${fruits_value[apple]}
echo "apple costs ${fruits_value[apple]}"
2.2 列出數組索引
關聯數組的索引類型和普通數組不同
echo ${!fruits_value[*]}
或
echo ${!fruits_value[@]}
總結
以上是生活随笔為你收集整理的Linux脚本关联,shell数组和关联数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux日志汇总,Linux日志分析常
- 下一篇: linux的du和df命令,du和df命