shell數組操作


1.數組定義,shell使用一對括號表示數組,數組元素間用”空格”分隔

# 空數組arr1 arr1=() # 數組arr2,成員分別是1, 2, 3, 4, 5, 6 arr2=(1 2 3 4 5 6)

2.數組元素讀取,格式:${數組名[下標]},下標從0開始,下標為*或@代表整個數組內容

[root@10 ~]# echo ${arr2[0]} 1 [root@10 ~]# echo ${arr2[*]} 1 2 3 4 5 6

3.遍歷數組, foreach

for num in ${arr2[*]}; do echo $num; done; 

4.數組長度,格式:${#數組名[*或@]}

[root@10 ~]# echo ${#arr2[*]} 6

5.賦值,格式:數組名[下標]=值,如果下標不存在,則新增數組元素; 下標已有,則覆蓋值

[root@10 ~]# arr2[6]=7 [root@10 ~]# echo ${arr2[*]} 1 2 3 4 5 6 7 [root@10 ~]# arr2[0]=-1 [root@10 ~]# echo ${arr2[*]} -1 2 3 4 5 6 7

6.分片,格式:${數組名[*或@]:起始位:長度},截取部分數組,返回字符串,中間用空格分隔;將結果使用“()”,則得到新的切片數組

[root@10 ~]# echo ${arr2[*]:0:3} -1 2 3 [root@10 ~]# arr3=(${arr2[*]:0:3}) [root@10 ~]# echo ${arr3[*]} -1 2 3

7.替換元素,格式:${數組名[*或@]/查找字符/替換字符}, 不會修改原數組;如需修改的數組,將結果使用“()”賦給新數組

[root@10 ~]# echo ${arr2[*]} -1 2 3 4 5 6 7 [root@10 ~]# echo ${arr2[*]/7/10} -1 2 3 4 5 6 10 [root@10 ~]# arr4=(${arr2[*]/7/10}) [root@10 ~]# echo ${arr4[*]} -1 2 3 4 5 6 10 

8.刪除數組,格式:unset 數組,清除整個數組; unset 數組[下標],清除單個元素


[root@10 ~]# echo ${arr2[*]} -1 2 3 4 5 6 7 [root@10 ~]# unset arr2[0] [root@10 ~]# echo ${arr2[*]} 2 3 4 5 6 7 [root@10 ~]# unset arr2 [root@10 ~]# echo ${arr2[*]} [root@10 ~]# 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM