shell-数组的遍历

Posted bazingafraser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell-数组的遍历相关的知识,希望对你有一定的参考价值。

数组中可以存放多个值

Shell数组用括号来表示,元素用“空格”符号分割开

语法格式:

Array_name=(value1 value2 …valuen)

 

定义数组

array_name[0]=value0

array_name[1]=value1

array_name[2]=value2

 

读取数组

${array_name[index]}

my_array=(A B "C" D)

echo "第一个元素为: ${my_array[0]}"

echo "第二个元素为: ${my_array[1]}"

echo "第三个元素为: ${my_array[2]}"

echo "第四个元素为: ${my_array[3]}"

 

执行脚本,输出结果如下所示:

第一个元素为: A

第二个元素为: B

第三个元素为: C

第四个元素为: D

 

获取数组中所有元素

使用@或者*可以获取数组中的所有元素

例如:

my_array=(A B "C" D)

echo "数组的元素为: ${my_array[*]}"

echo "数组的元素为: ${my_array[@]}"

 

执行结果

数组的元素为: A B C D

数组的元素为: A B C D

 

获取数组的长度

y_array=(A B "C" D)
echo "数组元素个数为: ${#my_array[*]}"
echo "数组元素个数为: ${#my_array[@]}"

 

执行结果

数组元素个数为: 4

数组元素个数为: 4

 

循环数组

for

[[email protected] ~]# array=(a b c  1 2 3 )

[[email protected] ~]# echo ${array[@]}

[[email protected] ~]# a b c d 1 2 3 4

 

[[email protected] ~]#

for ((i=0;i<${#array[@]};i++))

 do

 echo ${array[i]}

 done

执行结果

a

b

c

1

2

3

也可以写为

[[email protected] ~]# for a in ${array[@]}

> do

> echo $a

> done

 

[[email protected] ~]# while [ $i -lt ${#array[@]} ]

> do

> echo ${array[$i]}

> let i++

> done

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于shell-数组的遍历的主要内容,如果未能解决你的问题,请参考以下文章

shell中数组遍历替换切换等

shell-数组的遍历

Shell - 如何声明关联数组并遍历[重复]

使用for循环遍历shell脚本中的数组[重复]

在 Shell 脚本中遍历 JSON 数组

shell遍历数组