shell - 数组

用下面的语句可以定义一个数组,数组下标从0开始

array=(value0 value1 value2)

或者使用下标定义,下标不一定要连续,数组的大小为最大下标值加一

array[0]=value0
array[2]=value2

针对数组一些常用的操作:

${array[n]}            # 获取数组下标为n的元素
${array[*]}            # 获取数组的所有元素
${array[@]}            # 获取数组的所有元素
${#array[*]}            # 获取数组长度
${#array[@]}            # 获取数组长度

示例:

#!/bin/bash

array=(a b c d)
echo ${array[0]}
echo ${array[*]}
echo ${array[@]}
echo ${#array[*]}
echo ${#array[@]}

输出如下:

a
a b c d
a b c d
4
4

先定义,再赋值

#!/bin/bash

array=()
i=0
for value in hello world; do
    array[i]=$value
    i=$(expr $i + 1)
done

for (( i=0; i<=${#array[*]}; i++ )); do
    echo ${array[i]}
done

输出结果:

hello
world

Last updated

Was this helpful?