创建具有多个元素的Bash数组

时间:2019-05-28 14:27:21

标签: arrays bash

非常简单的bash问题。我有一个看起来像这样的数组:

my_array=(1 2 3)

但是,当我打印数组或遍历数组时,bash仅指第一个元素。

echo $my_array
1

for element in my_array ; do
    echo $element
done
1

如何访问所有元素?

1 个答案:

答案 0 :(得分:4)

您需要使用正确的语法。要显示所有元素,请使用

for element in "${my_array[@]}" ; do
    printf '%s\n' "$element"
done

$my_array${my_array[0]}相同。

此外,原始问题中的循环输出my_array,而不是1。没有$,它不是变量,而只是一个字。