简单的while循环在bash中

时间:2014-02-11 21:38:53

标签: linux bash while-loop

我开始学习bash脚本。我写了简单的while循环,但它不起作用。 它说:命令没有找到。有人知道为什么吗? 这是我的代码:

let x=5; while [$x -lt 10];do echo "x is : $x";let x=$x+1; done

1 个答案:

答案 0 :(得分:5)

添加空格。

while [ $x -lt 10 ];

有关详情,请参阅How to use double or single bracket, parentheses, curly braces的答案:

  

单个括号([)通常实际上调用名为[的程序; man testman [了解详情。例如:

$ VARIABLE=abcdef
$ if [ $VARIABLE == abcdef ] ; then echo yes ; else echo no ; fi
yes

此外,这是info test对此事所说的话:

  

'test'有一个使用开始和结束方格的替代形式   括号而不是前导'test'。例如,您可以编写“test -d /”代替“[ -d / ]”。方括号必须分开   参数;例如,'[-d /]'没有达到预期的效果。   由于“test EXPR”和“[ EXPR ]”具有相同的含义,因此只有   前形式将在下面讨论。

因此,等价物看起来像:

let x=5; while test $x -lt 10;do echo "x is : $x";let x=$x+1; done