Shell 學習12 - Shell 數組

來源:互聯網
上載者:User

標籤:linux   shell   

Shell在編程方面比Windows批處理強大很多,無論是在迴圈、運算。
bash支援一維數組(不支援多維陣列),並且沒有限定數組的大小。類似與C語言,數組元素的下標由0開始編號。擷取數組中的元素要利用下標,下標可以是整數或算術運算式,其值應大於或等於0。
定義數組
在Shell中,用括弧來表示數組,數組元素用“空格”符號分割開。定義數組的一般形式為:
array_name=(value1 ... valuen)
例如:
array_name=(value0 value1 value2 value3)
或者
array_name=(value0value1value2value3)
還可以單獨定義數組的各個分量:
array_name[0]=value0array_name[1]=value1array_name[2]=value2
可以不使用連續的下標,而且下標的範圍沒有限制。
讀取數組
讀取數組元素值的一般格式是:
${array_name[index]}
例如:
valuen=${array_name[2]}
舉個例子:
#!/bin/shNAME[0]="Zara"NAME[1]="Qadir"NAME[2]="Mahnaz"NAME[3]="Ayan"NAME[4]="Daisy"echo "First Index: ${NAME[0]}"echo "Second Index: ${NAME[1]}"
運行指令碼,輸出:
$./test.shFirst Index: ZaraSecond Index: Qadir
使用@ 或 * 可以擷取數組中的所有元素,例如:
${array_name[*]}${array_name[@]}
舉個例子:
#!/bin/shNAME[0]="Zara"NAME[1]="Qadir"NAME[2]="Mahnaz"NAME[3]="Ayan"NAME[4]="Daisy"echo "First Method: ${NAME[*]}"echo "Second Method: ${NAME[@]}"
運行指令碼,輸出:
$./test.shFirst Method: Zara Qadir Mahnaz Ayan DaisySecond Method: Zara Qadir Mahnaz Ayan Daisy
擷取數組的長度
擷取數組長度的方法與擷取字串長度的方法相同,例如:
# 取得數組元素的個數length=${#array_name[@]}# 或者length=${#array_name[*]}# 取得數組單個元素的長度lengthn=${#array_name[n]}

Shell 學習12 - Shell 數組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.