shell数组是什么?怎么用?

mac2025-10-25  4

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

最新回复(0)