shell中的數組

來源:互聯網
上載者:User

標籤:連續   執行   範圍   整數   ber   comm   info   chmod   containe   

編譯執行bash的方法

(1)bash  test.sh

 (2) chmod 755 test.sh   #給bash賦予可執行檔許可權   r-4  w-2  x-1

      ./test.sh

bash支援一維數組(不支援多維陣列),並且沒有限定數組的大小。類似與C語言,數組元素的下標由0開始編號。擷取數組中的元素要利用下標,下標可以是整數或算術運算式,其值應大於或等於0。

定義數組

在Shell中,用括弧來表示數組,數組元素用“空格”符號分割開。定義數組的一般形式為:
    array_name=(value1 ... valuen)
例如:

  1. array_name=(value0 value1 value2 value3)

或者

  1. array_name=(
  2. value0
  3. value1
  4. value2
  5. value3
  6. )


還可以單獨定義數組的各個分量:

  1. array_name[0]=value0
  2. array_name[1]=value1
  3. array_name[2]=value2

可以不使用連續的下標,而且下標的範圍沒有限制。

讀取數組

讀取數組元素值的一般格式是:
    ${array_name[index]}
例如:

  1. valuen=${array_name[2]}

舉個例子:

  1. #!/bin/sh
  2. NAME[0]="Zara"
  3. NAME[1]="Qadir"
  4. NAME[2]="Mahnaz"
  5. NAME[3]="Ayan"
  6. NAME[4]="Daisy"
  7. echo "First Index: ${NAME[0]}"
  8. echo "Second Index: ${NAME[1]}"

運行指令碼,輸出:

$./test.shFirst Index: ZaraSecond Index: Qadir

使用@ 或 * 可以擷取數組中的所有元素,例如:

  1. ${array_name[*]}
  2. ${array_name[@]}

舉個例子:

  1. #!/bin/sh
  2. NAME[0]="Zara"
  3. NAME[1]="Qadir"
  4. NAME[2]="Mahnaz"
  5. NAME[3]="Ayan"
  6. NAME[4]="Daisy"
  7. echo "First Method: ${NAME[*]}"
  8. echo "Second Method: ${NAME[@]}"

運行指令碼,輸出:

$./test.shFirst Method: Zara Qadir Mahnaz Ayan DaisySecond Method: Zara Qadir Mahnaz Ayan Daisy
擷取數組的長度

擷取數組長度的方法與擷取字串長度的方法相同。

eg:

  1. # 取得數組元素的個數
  2. length=${#array_name[@]}
  3. # 或者
  4. length=${#array_name[*]}
  5. # 取得數組單個元素的長度
  6. lengthn=${#array_name[n]}

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.