“[0: command not found” in Bash
本问题已经有最佳答案,请猛点这里访问。
我正在尝试在while循环中获取数组,并且需要更新数组中的值。
下面是我尝试过的代码。我得到这个错误
1 2 3 4 5 6 7 | #!/bin/bash i=0 while [$i -le"{#myarray[@]}" ] do echo"Welcome $i times" i= $(($i+1))) done |
我该怎么解决这个问题?
在任务中,
如果更正了这些内容,您的while循环将是:
1 2 3 4 5 6 7 | #!/bin/bash i=0 while ["$i" -le"${#myarray[@]}" ] do echo"Welcome $i times" i=$((i + 1)) done |
i=$((i + 1)) 也可以写成((i++)) 。- 最好在
[ ... ] 中用双引号括住变量。 - 通过shellcheck检查脚本-您可以在那里找到最基本的问题
另请参见:
- 为什么在bash的"["后面和"]"之前应该有一个空格?
- 如何使用双括号或单括号、圆括号、大括号
- 在bash变量赋值中找不到命令错误
- 在bash if语句中使用[]vs[]