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