shell数组是什么?怎么用?
admin
2023-01-21 02:20:49
0

数组就是把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数组脚本案例请移步下一篇博文~谢谢阅读~

相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...