首頁>技術>

 什麼是陣列? 陣列也是一種變數,常規變數只能儲存一個值,陣列可以儲存多個值  #普通陣列:只能用整數作為陣列的索引--預設值從0開始  下標 #關聯陣列:可以使用字串作為陣列的索引
陣列定義
 普通陣列定義: [root@linux-server script]# books=( linux shell awk sed ) ---在python中叫列表 ​ 引用:${array_name[index]} #引用  ​ [root@linux-server script]# echo ${books[0]} linux [root@linux-server script]# echo ${books[1]} shell [root@linux-server script]# echo ${books[2]} awk ​ #關聯陣列需要提前宣告 Declare命令: [test @test test]# declare [-選項] 引數說明: -a :#定義為陣列--array -A : #定義關聯陣列 ​ 例1 declare -A myarry1 [root@linux-server script]# declare -A myarry1 [root@linux-server script]# myarry1=([name]=soso666 [sex]=man [age]=18) [root@linux-server script]# echo ${myarry1[name]} soso666 [root@linux-server script]# echo ${myarry1[age]} 18 定義方法1: [root@linux-server script]# declare -a myarry=(5 6 7 8) [root@linux-server script]# echo ${myarry[2]} 顯示結果為 7 ​ ​ 定義方法3:  #語法:陣列名[index]=變數值 #!/bin/bash  area[11]=23  area[13]=37  area[51]="UFO" ​ 示例 [root@linux-server script]# vim shuzu.sh #!/bin/bash NAME[0]="BJ" NAME[1]="SH" NAME[2]="SZ" NAME[3]="GZ" NAME[4]="HZ" NAME[5]="ZZ" echo "First Index: ${NAME[0]}" echo "Second Index: ${NAME[1]}" echo "sixth Index: ${NAME[5]}" ​ 輸出結果 [root@linux-server script]# bash shuzu.sh  First Index: BJ Second Index: SH sixth Index: ZZ
訪問陣列

當設定任何陣列變數時,可以訪問它

 [root@linux-server script]# aa=(haha heihei baibai) [root@linux-server script]# echo ${aa[0]}   #訪問陣列中的第一個元素 [root@linux-server script]# echo ${aa[@]}   #訪問陣列中所有的元素 等同與echo ${aa[*]}  [root@linux-server script]# echo ${#aa[@]}  #統計元素的個數  [root@linux-server script]# echo ${!aa[@]}  #列印索引

您可以訪問陣列中的所有專案透過以下方式之一:

 ${array_name[*]} ${array_name[@]}

陣列遍歷案例

[root@newrain array]# cat array01.sh  #!/bin/bash while read line    do         host[i++]=$line    done </etc/hosts echo for i in ${!host[@]}  do         echo "$i:${host[$i]}" done ​ 遍歷陣列for [root@newrain array]# cat array02.sh  #!/bin/bash #IFS=$'\n' for line in `cat /etc/hosts` do         host[j++]=$line done for  i in ${!host[@]} do         echo ${host[$i]} done  ​ #注意:for迴圈中會將tab\空格\回車作為分隔符預設為空格. ​ [root@localhost ~]# vim count_shells.sh #!/usr/bin/bash declare -A shells while read line do         type=`echo $line | awk -F":" '{print $NF}'`         let shells[$type]++    done < /etc/passwd for i in ${!shells[@]} do         echo "$i: ${shells[$i]}"  done

8
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 前端面試題-企業面試真題--050