码迷,mamicode.com
首页 > 编程语言 > 详细

shell数组是什么?怎么用?

时间:2019-11-02 23:32:47      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:roo   root   脚本案例   编号   unset   命令执行   数组下标   nod   通过   

数组就是把n个变量或者字符内容集合起来用一个名字命名
接着用编号对它们区分的元素集合,这个名字叫数组名
区分不同内容的是编号,叫数组下标
有了数组,就能用一样的名字引用不同的变量或者变量值,并通过数字来识别它们
使用数组也能使代码缩短简洁等好处


数组怎么定义的呢,这里介绍2种常用的方法:

No.1
小括号将变量值括起来赋值给数组变量,每个变量值之间要用空格分隔。

array:数组 ? ? ? value:值
array=(value1 value2 value3)?

[root@node1 ~]# array=(value1 value2 value3)
[root@node1 ~]# echo ${array[*]}
value1 value2 value3

No.2

用小括号将变量值括起来,同时采用键值对的形式赋值

array=([1]=value1 [2]=value2 [3]=value3)

[root@node1 ~]# array=([1]=value1 [2]=value2 [3]=value3)
[root@node1 ~]# echo ${array[@]}
value1 value2 value3
[root@node1 ~]# echo ${array[2]}
value2
[root@node1 ~]# echo ${array[1]}
value1

补充:还可以定义动态内容赋值,结果显示命令执行后的结果

输出数组的个数:

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

删除第n个数组:

[root@node1 ~]# unset array[1]
[root@node1 ~]# 
[root@node1 ~]# echo ${array[*]}
value2 value3
删除整个数组:
[root@node1 ~]# unset array
[root@node1 ~]# echo ${array[*]}

[root@node1 ~]# 

数组内容的获取和替换:

[root@node1 ~]# array=(a b c d e)
[root@node1 ~]# echo ${array[@]:0:2}
a b
替换(不会修改原数组):
[root@node1 ~]# echo ${array[@]/e/5}
a b c d 5

shell数组脚本案例请移步下一篇博文~谢谢阅读~

shell数组是什么?怎么用?

标签:roo   root   脚本案例   编号   unset   命令执行   数组下标   nod   通过   

原文地址:https://blog.51cto.com/14573101/2447175

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!