Shell编程二:Shell中的数组

来源:互联网 发布:广东广电网络营业厅 编辑:程序博客网 时间:2024/05/01 01:02

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#whfArray=(123 234 342 23 34 43 12 3)length=${#Array[@]}i=0;echo "数组的长度是:" $lengthwhile [ "$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`doneecho ${Array[@]}unset Array i j temp length










0 0
原创粉丝点击