Linux Shell指令碼系列教程(六):數組和關聯陣列_linux shell

來源:互聯網
上載者:User

一、數組和關聯陣列

數組是Shell指令碼非常重要的組成部分,它藉助索引將多個獨立的獨立的資料存放區為一個集合。普通數組只能使用整數作為數組索引,關聯陣列不僅可以使用整數作為索引,也可以使用字串作為索引。通常情況下,使用字串做索引更容易被人們理解。Bash從4.0之後開始引入關聯陣列。

二、定義列印普通數組

數組的方法有如下幾種:

複製代碼 代碼如下:

#在一行上列出所有元素
array_var=(1 2 3 4 5 6)

#以“索引-值”的形式一一列出
array_var[0]="test1"
array_var[1]="test2"
array_var[2]="test3"

注意:第一種方法要使用圓括弧,否則後面會報錯。

數組元素的方法有如下幾種:

複製代碼 代碼如下:

echo ${array_var[0]}         #輸出結果為 test1
index=2
echo ${array_var[$index]}    #輸出結果為 test3
echo ${array_var[*]}         #輸出所有數組元素
echo ${array_var[@]}         #輸出所有數組元素
echo ${#array_var[*]}        #輸出值為 3

注意:在ubuntu 14.04中,shell指令碼要以#!/bin/bash開頭,且執行指令碼的方式為 bash test.sh。

三、定義列印關聯陣列

定義關聯陣列
在關聯陣列中,可以使用任何文本作為數組索引。定義關聯陣列時,首先需要使用聲明語句將一個變數聲明為關聯陣列,然後才可以在數組中添加元素,過程如下:

複製代碼 代碼如下:

declare -A ass_array                           #聲明一個關聯陣列
ass_array=(["index1"]=index1 ["index2"]=index2)#內嵌“索引-值”列表法

ass_array["index3"]=index3
ass_array["index4"]=index4

echo ${ass_array["index1"]}                    #輸出為index1
echo ${ass_array["index4"]}

echo ${!ass_array[*]}                          #輸出索引列表
echo ${!ass_array[@]}                          #輸出索引列表


注意:對於普通數組,使用上面的方法依然可以列出索引列表,在聲明關聯陣列以及添加數組元素時,都不能在前面添加美元符$

相關文章

聯繫我們

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