我正在尝试在 while 循环中获取数组,并且也需要更新数组中的值。
下面是我尝试过的代码。我收到此错误
[0: command not found
#!/bin/bash
i=0
while [$i -le "{#myarray[@]}" ]
do
echo "Welcome $i times"
i= $(($i+1)))
done
我该如何解决这个问题?
作业中
[
之后需要一个空格,并且 =
之前或之后没有空格。 $(($i+1)))
会尝试执行 ((...))
表达式的输出,我确信这不是您想要的。另外,您在数组名称之前缺少 $
。
纠正这些事情后,你的 while 循环将是:
#!/bin/bash
i=0
while [ "$i" -le "${#myarray[@]}" ]
do
echo "Welcome $i times"
i=$((i + 1))
done
i=$((i + 1))
也可以写成 ((i++))
[ ... ]
另请参阅: