如何在shell脚本中将字符串转换为整数?

时间:2017-11-09 11:42:02

标签: arrays bash shell

在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}")

如何将数组长度转换为整数?提前谢谢!

1 个答案:

答案 0 :(得分:-1)

for a in `eval echo {0..$((${#array[@]}-1))}`
do
  # do stufff with $a like echo ${array[$a]}
done

应该没问题。请注意,计数从0开始到total-1,这就是使用中$(( ))所做的。