3. shell语法——数组

数组中可以存放多个不同类型的值,只支持一维数组,初始化时不需要指明数组大小。
数组下标从0开始

定义
数组用小括号表示,元素之间用空格隔开。例如:

1
array=(1 abc "def" yxc)

也可以直接定义数组中某个元素的值:

1
2
3
4
array[0]=1
array[1]=abc
array[2]="def"
array[3]=yxc

读取数组中某个元素的值
格式:

1
${array[index]}

例如:

1
2
3
4
5
array=(1 abc "def" yxc)
echo ${array[0]}
echo ${array[1]}
echo ${array[2]}
echo ${array[3]}

读取整个数组
格式:

1
2
${array[@]}  # 第一种写法
${array[*]} # 第二种写法

例如:

1
2
3
4
array=(1 abc "def" yxc)

echo ${array[@]} # 第一种写法
echo ${array[*]} # 第二种写法

数组长度
类似于字符串

1
2
${#array[@]}  # 第一种写法
${#array[*]} # 第二种写法

例如:

1
2
3
4
array=(1 abc "def" yxc)

echo ${#array[@]} # 第一种写法
echo ${#array[*]} # 第二种写法