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

來源:互聯網
上載者:User

   這篇文章主要介紹了Linux Shell指令碼系列教程(六):數組和關聯陣列,本文講解了什麼是數組和關聯陣列、定義列印普通數組、定義列印關聯陣列等內容,需要的朋友可以參考下

  一、數組和關聯陣列

  數組是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.