shell中數(shù)組的定義及操作
一、shell中數(shù)組的幾種定義方式:
方法一:
[root@localhost ~]# array=(1 2 3) [root@localhost ~]# echo ${array[*]} 1 2 3
方法二:
[root@localhost ~]# array=([1]=one [2]=two [3]=three) [root@localhost ~]# echo ${array[*]} one two three
方法三:
[root@localhost ~]# array[0]=a [root@localhost ~]# array[1]=b [root@localhost ~]# array[2]=c [root@localhost ~]# echo ${array[1]} b
方法四:動(dòng)態(tài)定義數(shù)組變量,并使用命令的輸出結(jié)果作為數(shù)組的內(nèi)容
[root@localhost ~]# array=($(ls /home)) [root@localhost ~]# echo ${array[*]} student
二、數(shù)組的打印和輸出
1)打印數(shù)組元素(其中@和*的作用相同,均是打印出所有元素)
[root@localhost ~]# array=(one two three) [root@localhost ~]# echo ${array[2]} three [root@localhost ~]# echo ${array[0]} one [root@localhost ~]# echo ${array[@]} one two three [root@localhost ~]# echo ${array[*]} one two three
2)打印元素個(gè)數(shù)
[root@localhost ~]# echo ${#array[*]} 3 [root@localhost ~]# echo ${#array[@]} 3
3)數(shù)組的賦值
#如果下標(biāo)不存在,則自動(dòng)添加一個(gè)新的元素,如果存在,則覆蓋原來(lái)的值 [root@localhost ~]# array[3]=four [root@localhost ~]# echo ${array[*]} one two three four [root@localhost ~]# array[1]=hello [root@localhost ~]# echo ${array[*]} one hello three four
4)數(shù)組的刪除
[root@localhost ~]# unset array[1] [root@localhost ~]# echo ${array[*]} one three four [root@localhost ~]# unset array [root@localhost ~]# echo ${array[*]}
5)數(shù)組內(nèi)容截取和替換
[root@localhost ~]# array=(0 1 2 3 4) [root@localhost ~]# echo ${array[@]:1:3} 1 2 3 [root@localhost ~]# array=($(echo {a..z})) [root@localhost ~]# echo ${array[@]} a b c d e f g h i j k l m n o p q r s t u v w x y z [root@localhost ~]# echo ${array[@]:1:3} b c d [root@localhost ~]# array=(1 2 3 4 5) [root@localhost ~]# echo ${array[@]/3/three} 1 2 three 4 5
6)輸出所有元素
#!/bin/bash array=(9 6 7 5 9 1) for((i=0;i<=${#array[@]}-1;i++)) do echo ${array[i]} done
到此這篇關(guān)于shell中數(shù)組的定義及操作的文章就介紹到這了,更多相關(guān)shell 數(shù)組定義及操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell腳本編寫(xiě)ping包及arp的監(jiān)控并發(fā)送短信功能
這篇文章主要介紹了shell腳本編寫(xiě)ping包及arp的監(jiān)控并發(fā)送短信功能,需要的朋友可以參考下2017-03-03Shell腳本實(shí)現(xiàn)進(jìn)度條的兩種方式
本文主要介紹了Shell腳本實(shí)現(xiàn)進(jìn)度條的兩種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03shell腳本編程之case語(yǔ)句學(xué)習(xí)筆記
這篇文章主要介紹了shell腳本編程之case語(yǔ)句學(xué)習(xí)筆記,本文代碼中包含注釋來(lái)說(shuō)明case語(yǔ)句的使用,需要的朋友可以參考下2014-09-09詳解shell腳本中的case條件語(yǔ)句介紹和使用案例
這篇文章主要介紹了詳解shell腳本中的case條件語(yǔ)句介紹和使用案例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04shell實(shí)現(xiàn)圖書(shū)管理系統(tǒng)
這篇文章主要介紹了shell實(shí)現(xiàn)圖書(shū)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01awk中RS、ORS、FS、OFS的區(qū)別和聯(lián)系小結(jié)
這篇文章主要介紹了awk中RS、ORS、FS、OFS的區(qū)別和聯(lián)系小結(jié),用大量實(shí)例來(lái)說(shuō)明和講解,需要的朋友可以參考下2014-07-07Shell腳本函數(shù)傳遞參數(shù)的實(shí)現(xiàn)方法
本文主要介紹了Shell腳本函數(shù)傳遞參數(shù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07