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