婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Shell數(shù)組添加元素及注意事項

Shell數(shù)組添加元素及注意事項

熱門標(biāo)簽:黑暗之魂3地圖標(biāo)注 電話機器人對家居行業(yè)幫助大嗎 AI智能電銷機器人壞處 沈陽ai電銷智能機器人 蘭州電銷機器人加盟 電商外呼系統(tǒng)排名 如何申請400的電話呀 地圖標(biāo)注審核周期 合肥電銷外呼系統(tǒng)供應(yīng)商

向Shell數(shù)組添加元素有多種方法,每種方法在使用時都有一些需要注意的地方,沒有見過這方面的總結(jié)資料,所以自己總結(jié)一下。

直接下標(biāo)添加

array_name[index]=value

最簡單的添加方式,直接用下標(biāo)index為數(shù)組元素賦值,在使用時需要注意的是就是需要確保下標(biāo)index處原本是沒有值的,否則會替換index處原本的值。

數(shù)組長度添加

array_name[${#array_name[@]}]=value
#或array_name[${#array_name[*]}]=value

以數(shù)組長度為下標(biāo)添加,每次只能增加一個元素。但此方法有一個前提,就是數(shù)組中的元素下標(biāo)必須是連續(xù)的,否則會存在替換已有元素的風(fēng)險。例如:

arr=([1]="a" [2]="b")
echo ${arr[@]}
arr[${#arr[@]}]="c"
echo ${arr[@]}

實際上并有添加元素,而是將下標(biāo)為2的元素值“b”替換為了“c”。

重新創(chuàng)建數(shù)組

array_name=("${array_name[@]}" value1 ... valueN)

 這種方式不需要下標(biāo)連續(xù),可同時添加多個元素,但是有一些要注意的地方:

首先,使用此方式添加元素后,數(shù)組中原有元素的下標(biāo)會重置,會從0開始變成連續(xù)的,如果不希望改變下標(biāo)則不能使用這種方式。

其次,雙引號不能省略,否則,當(dāng)數(shù)組array_name中存在包含空格的元素時會按空格將元素拆分成多個。

最后,不能將“@”替換為“*”,雖然在輸出數(shù)組元素時可以相互替換,如果替換為“*”,不加雙引號時與“@”的表現(xiàn)一致,加雙引號時,會將數(shù)組array_name中的所有元素作為一個元素添加到數(shù)組中。類似于特殊變量$@和$*的區(qū)別。

#!/bin/bash
arr1=()
initArray(){
  arr1=([2]="a b" [3]=2 [5]=4)
}
showArray(){
  echo "Elements in arr1: ${arr1[@]}"
  echo "Length of arr1: ${#arr1[@]}"
  echo "The 3rd elements is: ${arr1[2]}"
  echo
}
initArray
echo "original arr1:"
showArray
echo "add new elements 3 and 5"
echo "--------------------"
echo "use @ without quote"
arr1=(${arr1[@]} 3 5)
showArray
initArray
echo "use * without quote"
arr1=(${arr1[*]} 3 5)
showArray
initArray
echo "use @ with quote"
arr1=("${arr1[@]}" 3 5)
showArray
initArray
echo "use * with quote"
arr1=("${arr1[*]}" 3 5)
showArray

運行結(jié)果為:

original arr1:
Elements in arr1: a b 2 4
Length of arr1: 3
The 3rd elements is: a b
 
add new elements 3 and 5
--------------------
use @ without quote
Elements in arr1: a b 2 4 3 5
Length of arr1: 6
The 3rd elements is: 2
 
use * without quote
Elements in arr1: a b 2 4 3 5
Length of arr1: 6
The 3rd elements is: 2
 
use @ with quote
Elements in arr1: a b 2 4 3 5
Length of arr1: 5
The 3rd elements is: 4
 
use * with quote
Elements in arr1: a b 2 4 3 5
Length of arr1: 3
The 3rd elements is: 5

賦值運算符+=

array_name+=(value1 ... valueN)

 這種方式不需要元素下標(biāo)連續(xù),可以添加多個元素,添加后元素下標(biāo)不會重置,不存在元素覆蓋的風(fēng)險。唯一要注意的就是“+=”前后不能有空格,并且后面的待添加元素必須用“()”包圍起來,并且多個元素用空格分隔。新添加的元素的下標(biāo)取決于原本數(shù)組中最后有值的元素的下標(biāo)。

#!/bin/bash
arr1=()
initArray(){
  arr1=([2]="a b" [3]=2 [5]=4)
}
showArray(){
  echo "Elements in arr1: ${arr1[@]}"
  echo "Length of arr1: ${#arr1[@]}"
  echo "The 3rd elements is: ${arr1[2]}"
  echo
}
initArray
echo "original arr1:"
showArray
echo "add new elements 3 and 5"
echo "--------------------"
echo "use += "
arr1+=(3 5)
showArray
echo "The 8th elements is: ${arr1[7]}"

運行結(jié)果為:

original arr1:
Elements in arr1: a b 2 4
Length of arr1: 3
The 3rd elements is: a b
 
add new elements 3 and 5
--------------------
use +=
Elements in arr1: a b 2 4 3 5
Length of arr1: 5
The 3rd elements is: a b
 
The 8th elements is: 5

數(shù)組中原本的元素沒有改變,新添加的元素下標(biāo)是在最后有值的元素下標(biāo)5的基礎(chǔ)上遞增的。

總結(jié)

添加方式 語法

可添加多個元素

下標(biāo)必須連續(xù) 添加后下標(biāo)改變 可能覆蓋原有元素
直接下標(biāo)添加 array_name[index]=value
數(shù)組長度添加

array_name[${#array_name[@]}]=value

或array_name[${#array_name[*]}]=value

重新創(chuàng)建數(shù)組 array_name=("${array_name[@]}" value1 ... valueN)
賦值運算符+= array_name+=(value1 ... valueN)

到此這篇關(guān)于Shell數(shù)組添加元素及注意事項的文章就介紹到這了,更多相關(guān)Shell數(shù)組添加元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PowerShell中使用ArrayList實現(xiàn)數(shù)組插入、刪除、添加例子
  • Shell腳本數(shù)組操作小結(jié)
  • Shell腳本數(shù)組用法小結(jié)
  • shell for循環(huán)與數(shù)組應(yīng)用介紹
  • shell 使用數(shù)組作為函數(shù)參數(shù)的方法(詳解)
  • shell腳本字符串和數(shù)組的使用操作方法
  • Linux Shell 數(shù)組的創(chuàng)建及使用技巧
  • shell數(shù)組操作簡明總結(jié)

標(biāo)簽:黔南 常州 河池 河北 通遼 隴南 淮南 黔南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell數(shù)組添加元素及注意事項》,本文關(guān)鍵詞  Shell,數(shù)組,添加,元素,及,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell數(shù)組添加元素及注意事項》相關(guān)的同類信息!
  • 本頁收集關(guān)于Shell數(shù)組添加元素及注意事項的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 招远市| 夹江县| 汶上县| 柘荣县| 鹤岗市| 沭阳县| 东安县| 松溪县| 商南县| 怀仁县| 新蔡县| 邹平县| 临高县| 吉林市| 利川市| 星座| 包头市| 简阳市| 若羌县| 志丹县| 武宁县| 平谷区| 安顺市| 宾阳县| 理塘县| 儋州市| 耒阳市| 兰西县| 五莲县| 柯坪县| 宜兴市| 德庆县| 东丽区| 濉溪县| 西城区| 文化| 内丘县| 广灵县| 凉城县| 潢川县| 章丘市|