做網(wǎng)站的畢業(yè)論文怎么寫網(wǎng)絡(luò)廣告營銷典型案例
shell中關(guān)于數(shù)組的使用
在Shell中,數(shù)組是一種可以存儲多個(gè)值的變量。數(shù)組的每個(gè)值都由一個(gè)數(shù)字索引來訪問。在Shell中,數(shù)組的索引從0開始。
數(shù)組的常見的使用方法包括
- 數(shù)組的定義
- 數(shù)組的打印
- 數(shù)組長度
- 數(shù)組的遍歷
- 數(shù)組元素的打印
- 數(shù)組元素的添加
- 數(shù)組元素的刪除
數(shù)組的定義
# 定義數(shù)組
list=("value1" "value2" "value3")
數(shù)組的長度
echo ${#list[*]}echo ${#list[@]}
數(shù)組元素的輸出
shell(這里指常用的bash)中數(shù)組的下標(biāo)與c,python,go等編程語言一樣 ,下標(biāo)是0開始的;
list=(value1 value2 value3);echo $list[0] // value1
list=(value1 value2 value3);echo $list[1] // value2
list=(value1 value2 value3);echo $list[3] // value3
特別注意,/bin/zsh的下標(biāo)是從1開始,而不是0開始
(base) {14:45}~/script ? echo $SHELL
/bin/zsh
(base) {14:45}~/script ? list=(value1 value2 value3);echo ${list[0]} // 輸出為空(base) {14:45}~/script ? list=(value1 value2 value3);echo ${list[1]} // 輸出為value1
value1
數(shù)組的遍歷
# 遍歷方式一
for i in ${list[@]}
doecho $i
done# 遍歷方式二
for((i=0;i<${#list[*]};i++))
doecho ${list[$i]}
done
數(shù)組元素的打印
echo ${list[*]}
echo ${list[@]}echo ${list} 等價(jià)于echo ${list[0]}
數(shù)組元素的添加
沒有直接的方法添加元素,可以將原數(shù)組中的所有元素與新添加元素定義為一個(gè)新數(shù)組,并加新數(shù)組的內(nèi)"覆蓋"原同名的數(shù)組。
list=("${list[*]}" "value4")# 實(shí)踐:
list=(value1 value2 value3);list=("${list[*]}" "value4");echo ${list[*]} // value1 value2 value3 value4
數(shù)組元素的刪除
使用unset與${list[*]}來刪除數(shù)組某個(gè)元素
list=(value1 value2 value3)
unset 'list[1]'
list=("${list[*]}")# 實(shí)踐,刪除第二元素
list=(value1 value2 value3);unset "list[2]";list=("${list[*]}");echo ${list[*]} // value1 value3
示例
在初始化服務(wù)器環(huán)境時(shí),需要安裝很多軟件包,這時(shí)可以先定義一個(gè)數(shù)組,再遍歷數(shù)組并依次安裝數(shù)據(jù)包
#!/bin/bashlist=(vmi iotop fio htop)for i in ${list[*]}
doapt install -y $i
done