Shell编程二:Shell中的数组

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










发布了29 篇原创文章 · 获赞 7 · 访问量 7万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章