shell 編程之 數組

來源:互聯網
上載者:User

標籤:

0x00 數組的定義

      數組的定義組作為一種特殊的資料結構在任何一種程式設計語言中都有它的一席之地,當然bash shell也不例外。本文就shell數組來做一個小的總結。在這裡只討論一維數組的情況,關於多維陣列(事實上,你得用一維數組的方法來類比),不涉及。這裡包括數組的複製,計算,刪除,替換。

  數組的定義方式:

    1. array[key]=value   # arr[0]="hello" arr[1]="world"

    2. array=( value1 value2 ... )   # arr=( "hello" "world" )    注意括弧前面要有空格

    3. array=( [1]=value1 [2]=value2 )  # arr=( [0]="hello" [1]="world" )

0x01 數組的訪問

-  單個訪問數組中元素

  ${array[key]}  # ${arr[1]}

-  所有數組中的元素

用${數組名[下標]} 下標是從0開始  下標是:*或者@ 得到整個數組內容

  ${array[*或@]}  #${arr[*]}

-  計算數組的長度

用${#數組名[@或*]} 可以得到數組長度

  ${#array[*]}   

-  數組的提取

直接通過 ${數組名[@或*]:起始位置:長度} 切片原先數組,返回是字串,中間用“空格”分開,因此如果加上”()”,將得到切片數組

  arr=( 1 2 3 4 5 6 7 ) 

  ${arr[@]:0}  # 表示所有元素

  ${arr[@]:1}  # 除掉第一個元素後所有元素 

  ${arr[@]:0:2}  # 從0開始取2個

-  數組元素的刪除

直接通過:unset 數組[下標] 可以清除相應的元素,不帶下標,清除整個資料。

  unset arr[1]

-  數組元素的替換

${數組名[@或*]/尋找字元/替換字元} 該操作不會改變原先數組內容

  arr=( 1 2 3 4 5 )

  echo ${arr[@]/2/10}   # 結果為 1 10 3 4 5

  arr=(${arr[@]/2/10})  # 改變原數組內容

  echo $arr         #  1 10 3 4 5

 

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.