0060战斗在大马,河北搜才网,大盗贼泊尔塔
为什么会产生数组
通常在开发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<${#array[*]};i++)) do echo ${array[i]} done array=([1]=one [2]=two [3]=three) array[0]=a;array[1]=b;array[2]=c array=($(命令)) 或 array=(`命令`)
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
网友评论