linux中数组的应用,shell脚本之十三:Shell数组应用实践

本文将为您描述shell脚本之十三:Shell数组应用实践,具体实现方法:十三、Shell数组应用实践

(一)数组介绍

为什么会产生数组

通常在开发Shell脚本时,我们定义变量采用的形式为a=1;b=2;c=3,可如果有多个变量呢?这时再一个一个定义很费劲,并且要是有多个不确定的变量内容,也难以进行变量定义,此外,快速读取不同变量的值也是一件很痛苦的事情,于是数组就诞生了,它就是为了解决上述问题而来的。

什么是Shell数组

如果读者有过其他语言的编程经历,那么想必会熟悉数组的概念。简单地说,Shell的数组就是把有限个元素(变量或字符内容)用一个名字命名,然后用编号对它们进行区分的元素集合。这个名字就称为数组名,用于区分不同内容的编号就称为数组下标。组成数组的各个元素(变量)称为数组的元素,有时也称为下标变量。

有了Shell数组后,就可以用相同名字引用一系列变量及变量值,并通过数字(索引)来识别使用它们。在许多场合,使用数组可以缩短和简化程序开发。

(二)数组的定义

方法1:推荐

array=(one two three four)

方法2:

array=([0]=one [1]=two [2]=three [3]=four)

方法3:

[root@web01 ~]# array[0]=one

[root@web01 ~]# array[1]=two

[root@web01 ~]# array[2]=three

[root@web01 ~]# array[3]=four

[root@web01 ~]# echo ${array[@]}

one two three four

方法4:命令的结果放到数组里,推荐。

array=(`ls /server/scripts`)

(三)、操作数组元素

读取数组内容:*****

[root@web01 ~]# array=( 1 2 3 4 5)

[root@web01 ~]# echo ${array[0]}

1

[root@web01 ~]# echo ${array[1]}

2

[root@web01 ~]# echo ${array[2]}

3

[root@web01 ~]# echo ${array[3]}

4

[root@web01 ~]# echo ${array[4]}

5

[root@web01 ~]# echo ${array[5]}

[root@web01 ~]# echo ${array[*]}

1 2 3 4 5

[root@web01 ~]# echo ${array[@]}

1 2 3 4 5

[root@web01 ~]# echo ${#array[@]}

5

[root@web01 ~]# echo ${#array[*]}

5

给数组增加内容:

[root@web01 ~]# array[5]=oldboy

[root@web01 ~]# echo ${#array[*]}

6

[root@web01 ~]# echo ${array[*]}

1 2 3 4 5 oldboy

删除数组元素:

[root@web01 ~]# unset array[1]

[root@web01 ~]# echo ${array[*]}

1 3 4 oldboy

[root@web01 ~]# unset array[0]

[root@web01 ~]# echo ${array[*]}

3 4 oldboy

数组能不能替换:

使用for循环打印数组元素

array=(1 2 3 4 5)

for n in ${array[*]}

do

echo $n

done

echo =====================

#i为数组下标

for ((i=0;i

do

echo ${array[i]}

done

array=([1]=one [2]=two [3]=three)

array[0]=a;array[1]=b;array[2]=c

array=($(命令))

array=(`命令`)shell脚本之十三:Shell数组应用实践就为您介绍到这里,感谢您关注懒咪学编程c.lanmit.com.

本文地址:https://c.lanmit.com/czxt/Linux/51980.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值