Shell指令碼數組用法小結_linux shell

來源:互聯網
上載者:User

array作為一種資料結構,在一些進階語言中都是有直接提供和實現的,當然我shell中也是有的哈。

PS:寫這篇文章的原因是B哥在群裡發了一個截圖:

我大B哥依然是全能型人才哈。。。廢話少說,說下正題

1、怎麼聲明一個陣列變數?

直接賦值:

複製代碼 代碼如下:

array[0]=”Zero” array[1]=”One” array[2]=”Two”

declare聲明:
複製代碼 代碼如下:
declare -a array

小括弧空格法:
複製代碼 代碼如下:
array=(Zero One Two)

引號空格法:
複製代碼 代碼如下:
array=”Zero One Two”

混合法:
複製代碼 代碼如下:
array=([0]=”Zero” [1]=”One” [2]=”Two”)

2、怎麼遍曆一個數組?

標準for迴圈:

複製代碼 代碼如下:

[ chenqing@Qing ~  ] for(( i=0;i<${#array[@]};i++)) do echo ${array[i]}; done;
Zero
One
Two

for…in:

複製代碼 代碼如下:

[ chenqing@Qing ~  ] for i in ${array[@]};do echo $i ;done
Zero
One
Two

3、擷取數組的長度

複製代碼 代碼如下:

[ chenqing@Qing ~  ] echo ${#array[@]}
3
[ chenqing@Qing ~  ] echo ${#array[*]}
3

4、刪除數組元素

複製代碼 代碼如下:

[ chenqing@Qing ~  ] unset array[0]
[ chenqing@Qing ~  ] echo ${#array[@]}
2
[ chenqing@Qing ~  ] for i in ${array[@]};do echo $i ;done
One
Two

5、刪除數組

複製代碼 代碼如下:

unset array

6、和python一樣的切片

複製代碼 代碼如下:

[ chenqing@Qing ~  ] echo ${array[@]:0:1}
Zero
[ chenqing@Qing ~  ] echo ${array[@]:0:2}
Zero One
[ chenqing@Qing ~  ] echo ${array[@]:0:3}
Zero One Two
[ chenqing@Qing ~  ] echo ${array[@]:1}
One Two
[ chenqing@Qing ~  ] echo ${array[@]:2}
Two

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.