linux shell编程 数组

来源:互联网 发布:淘宝评论打不开 编辑:程序博客网 时间:2024/05/01 10:33

Linux中shell只支持一维数组。和绝大多数编程语言一样,数组的下标从0开始,0表示数组的第一个元素。现在shell所支持的最大的数组标号是599147937791,可以支持绝大多数的用户使用了。

一 数组的赋值:

1 直接赋值,直接对下标元素赋值,可以看到数组下标是可以跳过的。

array[0]=zhangsan
array[1]=lisi
array[8]=wangwu
array[12]=zhaoliu

2 初始化赋值,用圆括号把所有的元素括起来,各个元素中间用空格分隔,这样的赋值方式所有的元素就是下标从0开始并且连续

array=(zhangsan lisi wangwu zhaoliu)
同时圆括号赋值也可以加上下标,

array=([1]=zhangsan lisi [5]=wangwu zhaoliu [10]=wuqi zhangba [8]=zhoujiu)

如上所示,这样赋值更加的灵活。

二 数组数据的引用:

引用一个数组元素的方式:${array[0]},这个就是调用的数组的第0个元素。

如果调用的下标没有被初始化,调用时会返回空。

*和@可以用来表示所有的数组元素,比如${array[*]}和${array[@]}会返回所有的数组元素,$(#array[*])会返回数组的长度。

这样可以通过循环来对数组进行遍历,例如下面的程序:

array=(zhangsan lisi wangwu zhaoliu)

for element in ${array[*]}

do

echo "$a"

done

就会打印出所有的元素。


0 0
原创粉丝点击