有没有一种方法可以显示数组中的多个元素,以及如何使用索引变量来显示所有元素,例如:
在这里我可以得到元素:
ANIMALS=('DOG' 'CAT' 'CAW' 'BIRD')
INDEX=1
echo ${ANIMALS[$INDEX]}
CAT
INDEX=2
echo ${ANIMALS[$INDEX]}
CAW
问题1,如何使用变量index获取所有元素?我给它赋值@,但得到以下错误:
INDEX=@
echo ${ANIMALS[$INDEX]}
-bash: @: syntax error: operand expected (error token is "@")
预期结果:显示数组中的所有元素
问题2,如何显示多个元素,例如,如果我想显示索引0和3中的元素,类似于:
INDEX="0 3"
echo ${ANIMALS[$INDEX]}
预期结果:
DOG BIRD
2条答案
按热度按时间lrpiutwd1#
我认为最好的选择是使用一个数字列表,并在其中添加iter:
这样做的结果应该是:
flseospp2#
对于问题1,您可以使用“${ANIMALS[@]}”语法来迭代数组中的所有元素:
这将打印:
对于问题2,如果你想显示数组中的多个元素,你可以将索引指定为花括号“{ }”中的单独元素,并用逗号“,”分隔它们。下面是一个例子:
这将打印:
如果要在同一行中打印:
这将打印为
请注意,花括号“{ }”中的元素应该用逗号“,”分隔,不带任何空格。此外,数组中的索引应该指定为字符串,而不是中间有空格的单个字符串。