1.數組的定義
完整的數組元素由數組名和索引組成如下:
array[index]
在Bash中定義數組有兩種方法:
(1)直接在定義的時候爲所有的數組元素賦值
array=(1 2 3 4 5 6)
(2)對數組的每個 元素進行分別賦值
array[0]=4; array[3]=3;array[1]=2;
使用這種方法對數組進行賦值的時候,可以不按照數組下標的先後順序進行操作,也不必對數組中每個元素進行賦值,系統會自動賦空值。
2.數組的使用
(1)引用數組的某個元素,可以使用數組名稱加索引的方式
#輸出數組中第三個元素
echo ${array[2]}
(2)如果不指定數組索引,將會顯式數組中第一個元素的值:
#不使用下表時默認引用數組中第一個元素的值
echo $array
(3)輸出數組中所有元素的值
#*表示所有元素的下標
echo ${array[*]}
(4)查看數組中指定範圍的元素
#查看數組中下標大於等於2的所有元素
echo ${array[@]:2}
(5)獲取數組的長度
echo ${#array[@]}
下面是一個冒泡排序的例子:
#!/bin/bash
# 2016/12/30
#whf
Array=(123 234 342 23 34 43 12 3)
length=${#Array[@]}
i=0;
echo "數組的長度是:" $length
while [ "$i" -lt "$length" ]
do
j=`expr $i + 1`
while [ "$j" -lt "$length" ]
do
if [ "${Array[i]}" -gt "${Array[j]}" ]
then
temp=${Array[j]}
Array[j]=${Array[i]}
Array[i]=$temp
fi
j=`expr $j + 1`
done
i=`expr $i + 1`
done
echo ${Array[@]}
unset Array i j temp length