在bash shell上。 我试图在for循环范围内给出一个数组的可变长度,并逐个打印所有元素直到最后一个元素。我的代码看起来像这样
for a in {0..$((${#array[@]}))}; do
echo "${array[$a]}"
done
执行脚本时出现以下错误
line 14: {0..9}: syntax error: operand expected (error token is "{0..9}")
如何将数组长度转换为整数?提前谢谢!
答案 0 :(得分:-1)
for a in `eval echo {0..$((${#array[@]}-1))}`
do
# do stufff with $a like echo ${array[$a]}
done
应该没问题。请注意,计数从0
开始到total-1
,这就是使用中$(( ))
所做的。