Shell脚本也支持使用数组。
1、数组定义方式如下
Arr=(a0 a1 a2…an)
Arr是数组名称,成员使用()括起来,其中每个成员之间使用空格隔离。
另一种定义方式如下所示,每个成员单独赋值:
Arr[0]=a0
Arr[1]=a1
Arr[2]=a2
…
Arr[n]=an
2、数组成员使用
可以将每个成员当成一个变量来使用,比如使用第一个成员,${Arr[0]}。
也可以使用${Arr[*]},将所有成员打包为一个字符串,使用${Arr[@]},将所有成员分别打包为一个字符串。
我们仍然在myshell.sh中进行演示,在该文件中定义数组Arr,分别使用三种方式进行打印:
#!/bin/bash
echo "my first shell !"
Arr=(a0 a1 a2)
echo ${Arr[0]}
echo ${Arr[1]}
echo ${Arr[2]}
echo ${Arr[*]}
echo ${Arr[@]}
执行并打印:
3、获取数组长度
数组长度获取使用${#Arr[*]}或者${#Arr[@]},在脚本中加入:
#!/bin/bash
echo "my first shell !"
Arr=(a0 a1 a2)
echo ${Arr[0]}
echo ${Arr[1]}
echo ${Arr[2]}
echo ${Arr[*]}
echo ${Arr[@]}
echo "Arr len1 = ${#Arr[*]}"
echo "Arr len2 = ${#Arr[@]}"
执行脚本,可以看到数组大小为3: