亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Shell腳本數組操作小結

2020-07-27 19:14:57
字體:
來源:轉載
供稿:網友

Linux Shell在編程方面比Windows批處理強大很多,無論是在循環、運算。

bash支持一維數組(不支持多維數組),并且沒有限定數組的大小。類似與C語言,數組元素的下標由0開始編號。獲取數組中的元素要利用下標,下標可以是整數或算術表達式,其值應大于或等于0。

定義數組

在Shell中,用括號來表示數組,數組元素用“空格”符號分割開。定義數組的一般形式為:

復制代碼 代碼如下:
數組名=(值1 值2 ... 值n)

例如:
復制代碼 代碼如下:

array_name=(value0 value1 value2 value3)

或者
復制代碼 代碼如下:

array_name=(
value0
value1
value2
value3
)

還可以單獨定義數組的各個分量:

復制代碼 代碼如下:

array_name[0]=value0
array_name[1]=value1
array_name[n]=valuen

可以不使用連續的下標,而且下標的范圍沒有限制。

讀取數組

讀取數組元素值的一般格式是:

復制代碼 代碼如下:

${數組名[下標]}

例如:

復制代碼 代碼如下:

valuen=${array_name[n]}

使用@符號可以獲取數組中的所有元素,例如:

復制代碼 代碼如下:

echo ${array_name[@]}

獲取數組的長度

獲取數組長度的方法與獲取字符串長度的方法相同,例如:

復制代碼 代碼如下:

# 取得數組元素的個數
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得數組單個元素的長度
lengthn=${#array_name[n]}

附:shell數組小結

不知道 是什么時候寫的東西,整理文檔時被考古發現,給那些閑著蛋疼之人,一笑而過吧。如果本文中的錯誤給您帶來所有的精神損失,請找保險公司理陪!當然你可以告訴我 (傾訴)

數組作為一種特殊的數據結構在任何一種編程語言中都有它的一席之地,當然bash shell也不例外。本文就shell數組來做一個小的總結。
在這里只討論一維數組的情況,關于多維數組(事實上,你得用一維數組的方法來模擬),不涉及。這里包括數組的復制,計算,刪除,替換。

數組的聲明:

復制代碼 代碼如下:
array[key]=value # array[0]=one,array[1]=two

declare -a array # array被當作數組名

array=( value1 value2 value3 ... )

array=( [1]=one [2]=two [3]=three ... )

array="one two three" # echo ${array[0|@|*]},把array變量當作數組來處理,但數組元素只有字符串本身

數組的訪問:

復制代碼 代碼如下:
${array[key]} # ${array[1]}

數組的刪除

復制代碼 代碼如下:
unset array[1] # 刪除數組中第一個元素

unset array # 刪除整個數組

計算數組的長度:

復制代碼 代碼如下:
${#array}

${#array[0]} #同上。 ${#array[*]} 、${#array[@]}。注意同#{array:0}的區別

數組的提取

從尾部開始提取:

復制代碼 代碼如下:
array=( [0]=one [1]=two [2]=three [3]=four )
${array[@]:1} # two three four,除掉第一個元素后所有元素,那么${array[@]:0}表示所有元素
${array[@]:0:2} # one two
${array[@]:1:2} # two three

子串刪除

復制代碼 代碼如下:

[root@localhost dev]# echo ${array[@]:0}
one two three four

[root@localhost dev]# echo ${array[@]#t*e} # 左邊開始最短的匹配:"t*e",這將匹配到"thre"
one two e four

[root@localhost dev]# echo ${array[@]##t*e} # 左邊開始最長的匹配,這將匹配到"three"

[root@localhost dev]# array=( [0]=one [1]=two [2]=three [3]=four )

[root@localhost dev]# echo ${array[@] %o} # 從字符串的結尾開始最短的匹配
one tw three four

[root@localhost dev]# echo ${array[@] %%o} # 從字符串的結尾開始最長的匹配
one tw three four

子串替換

復制代碼 代碼如下:
[root@localhost dev]# array=( [0]=one [1]=two [2]=three [3]=four )

第一個匹配到的,會被刪除

復制代碼 代碼如下:
[root@localhost dev]# echo ${array[@] /o/m}
mne twm three fmur

所有匹配到的,都會被刪除

復制代碼 代碼如下:
[root@localhost dev]# echo ${array[@] //o/m}
mne twm three fmur

沒有指定替換子串,則刪除匹配到的子符

復制代碼 代碼如下:
[root@localhost dev]# echo ${array[@] //o/}
ne tw three fur

替換字符串前端子串

復制代碼 代碼如下:
[root@localhost dev]# echo ${array[@] /#o/k}
kne two three four

替換字符串后端子串

復制代碼 代碼如下:
[root@localhost dev]# echo ${array[@] /%o/k}
one twk three four

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
2024亚洲男人天堂| 欧美激情图片区| 国产成人精品综合| 国产精品精品久久久久久| 国产欧美在线观看| 欧美日韩高清在线观看| 亚洲色图美腿丝袜| 91九色综合久久| 国产精品视频免费在线观看| 一本色道久久88综合亚洲精品ⅰ| 亚洲最大的av网站| 国产精品视频久久| 66m—66摸成人免费视频| 91po在线观看91精品国产性色| 国产成人午夜视频网址| 日韩欧美中文在线| 国产91在线播放精品91| 欧美成人激情在线| 91超碰caoporn97人人| 国产精品2018| 国产成人精品免高潮在线观看| 亚洲最新视频在线| 91精品久久久久久久久久另类| 日韩av网址在线| 欧美成年人在线观看| 亚洲国产成人精品久久| 精品视频久久久久久久| 97精品视频在线播放| 日韩的一区二区| 亚洲国产一区二区三区四区| 国产精品日韩在线| 91精品美女在线| 亚洲激情在线观看| 亚州国产精品久久久| 亚洲欧美中文日韩在线v日本| 亚洲人成电影在线播放| 日韩精品有码在线观看| 精品成人69xx.xyz| 欧美国产在线视频| 欧美老肥婆性猛交视频| 亚洲一品av免费观看| 日本精品久久中文字幕佐佐木| 韩国美女主播一区| 国产福利精品视频| 欧美日韩亚洲激情| 色综合久久久888| 国产xxx69麻豆国语对白| 日韩一区二区三区国产| 91在线观看免费| 久久中文字幕国产| 欧美激情性做爰免费视频| 81精品国产乱码久久久久久| 精品无人区太爽高潮在线播放| 成人黄色在线观看| 在线看福利67194| 九九久久国产精品| 久久久精品一区| 国产精品久久在线观看| 日韩欧美国产黄色| 欧美日本高清视频| 亚洲码在线观看| 日韩中文字幕国产| 国产精欧美一区二区三区| 精品视频9999| 精品在线欧美视频| 久久久精品一区二区| 欧美www视频在线观看| zzijzzij亚洲日本成熟少妇| 国产精品久久久久久五月尺| 亚洲女性裸体视频| 亚洲欧美在线免费观看| 日本高清不卡的在线| 久久久久久av| 91在线精品播放| 久久久国产精彩视频美女艺术照福利| xxxxx91麻豆| 亚洲最大福利视频网| 国产精品一区二区三区久久| 亚洲欧洲中文天堂| 亚洲欧美色婷婷| 91理论片午午论夜理片久久| 中文字幕亚洲欧美日韩在线不卡| 亚洲欧美日韩一区在线| 欧美午夜精品久久久久久久| 国产精国产精品| 国产精品美女主播| 国产精品一区二区在线| 国产视频亚洲精品| 国产精品久久久久久一区二区| 亚洲精品在线视频| 国产女同一区二区| 亚洲成人网久久久| 九九久久国产精品| 国产成人精品一区二区三区| 久久香蕉频线观| 久久久精品欧美| 久久99久久99精品免观看粉嫩| 欧美放荡办公室videos4k| 国产视频精品在线| 91中文字幕在线| 久久伊人免费视频| 精品国产999| 国产精品久久久久久中文字| 亚洲精品自在久久| 最近中文字幕mv在线一区二区三区四区| 亚洲免费电影在线观看| 亚洲香蕉成人av网站在线观看| 成人a视频在线观看| 成人网页在线免费观看| 久久中文字幕一区| 亚洲欧美日韩精品| 日韩在线观看免费全集电视剧网站| 日韩暖暖在线视频| 国产精品普通话| 亚洲欧美精品在线| 国产精品wwwwww| 中文字幕精品国产| 91影视免费在线观看| 疯狂做受xxxx欧美肥白少妇| 久久国产精品久久国产精品| 久久久久五月天| 色婷婷av一区二区三区久久| 国产一区二区av| 亚洲成人a级网| 精品国产欧美成人夜夜嗨| 亚洲欧美中文另类| 久国内精品在线| 综合欧美国产视频二区| 国产日韩欧美视频| 最近2019年中文视频免费在线观看| 久久久av电影| 亚洲天堂第二页| 日韩欧美国产一区二区| 7777kkkk成人观看| 亚洲美腿欧美激情另类| 国产97在线视频| 九色成人免费视频| 国产69精品久久久| 国产午夜精品久久久| 亚洲亚裔videos黑人hd| 国产精品久久久久久网站| 久久久精品国产网站| 国产在线精品播放| 亚洲精品国产精品国自产观看浪潮| 亚洲一区二区久久久久久| 亚洲欧美自拍一区| 久久亚洲一区二区三区四区五区高| 亚洲系列中文字幕| 欧美日韩福利电影| 精品久久中文字幕| 成人黄色激情网| 成人免费视频网址| 亚洲美女视频网站| 国产精品jvid在线观看蜜臀| 亚洲人成绝费网站色www| 久久久精品久久久| 国产精品一区=区| 成人福利视频在线观看| 亚洲丝袜在线视频| 欧美在线观看日本一区| 国产成人精品亚洲精品| 欧美日韩精品在线播放| 欧美成人免费全部| 国产精品av免费在线观看|