循环运行shell脚本时出错

时间:2014-11-25 23:49:45

标签: linux shell unix

我写了这个shellcript文件。但我得到error near unexpected token完成了'`

#!/bin/bash
i=1
while [ $i -lt 12 ]; do
    echo Hi
    i=$[$i+1]
done

以前,;之前没有do。我在;之后阅读了stackexchange的答案并写了while [],但我仍然收到错误。我无法在线找到解决方案。有任何想法吗?

4 个答案:

答案 0 :(得分:1)

i=$[$i+1]这是错误的。你可能意味着i=$((i+1))

答案 1 :(得分:0)

bash的路径不正确,你错过了路径中的根 将第一行改为

#!/bin/bash

答案 2 :(得分:0)

在bash脚本中正确放置;确实很棘手。这是您的脚本的单行版本,在正确的位置使用分号:

i=1; while (( i < 12 )); do echo "Hi"; (( i++ )); done

请注意,如果将$变量放在双括号(( ))之间,则变量的{{1}}会变得多余。

答案 3 :(得分:0)

完美运作

$ ./ttt
Hi
Hi
Hi
Hi 
Hi
Hi
Hi
Hi
Hi
Hi 
Hi
$ cat ttt
#!/bin/bash
i=1
while [ $i -lt 12 ]; do
    echo Hi
    i=$[$i+1]
done  
$