shell数组是什么?怎么用?
数组就是把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数组脚本案例请移步下一篇博文~谢谢阅读~
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。