Bash Shell之數組簡介
一、數組基本概念
數組是內存中的存儲空間,連續的多個存儲單元;bash中只支持一維數組,支持稀疏格式 ,參數個數沒有限制。
二、數組基本語法格式
1、聲明一個數組
declare -a array 其實不用聲明,按數組方式直接賦值給變量即可
2、表示方式:數組名+索引
索引的表示方式:數字索引:a[index]。例如:a[0], a[1]
bash 4.0以后支持關聯數組.用declare -A指明是關聯數組例如:a[hello], a[hi]
在引用是必須使用{}。例如${a[0]}
3、數組賦值:
一次對多個元素賦值。例如:a=(red blue yellow green)
按索引進行賦值。例如:a=([0]=green [3]=red [2]=blue [6]=yellow)
命令替換賦值。例如:logs=(/var/log/*.log)
用戶輸入賦值。例如:read -a c,賦值后用echo ${c[0]}查看
4、數組訪問
echo ${#a[i]}獲取這個數組中第i個小標的元素值
echo ${#a[*]}或echo ${#a[@]} :獲取這個數組中數組元素的總個數。
5、從數組中挑選元素
${ARRAY[@]}: 取出所有元素。例如:echo ${a[@]}
${ARRAY[@]:offset:number}。例如:echo ${a[@]:1:1}
offset: 偏移的元素個數
number: 取出的元素的個數
${ARRAY[@]:offset}:取出偏移量后的所有元素 。例如:echo ${a[@]:1}
6、向數組復制和追加元素:
把數組中的個數當做該數組的下標。
declare -a mylogs
tmp=${#mylogs[@]}
mylogs[$tmp]="dasd"
刪除數組用的元素:unset a[i] 刪除所有原始unset a[*] 或 unset a[@]
數組復制:b[$index]=${a[$i]}
三、實例解析:
1、寫一個腳本,生成10個隨機數,保存至數組中;而后顯示數組下標為偶數的元素(或者將偶數元素賦值給一個新的數組并顯示);
2、 生成10個隨機數,升序排序
注意:在Bash Shell數組互換時要注意其格式;賦值給temp和a[$i]的方式不一樣;
3、打印九九乘法表
原創文章,作者:wxdz_2004(古雨秋),如若轉載,請注明出處:http://www.www58058.com/4190