2014-02-11 68 views
2

我已經開始學習bash腳本。我寫了簡單的while循環,但它不起作用。 這是說:命令not found.does任何人都知道爲什麼? 這裏是我的代碼:在bash中簡單while循環

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

回答

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 」。例如,您可以寫'[ -d/]'而不是'test -d /'。方括號必須是單獨的 參數;例如'[-d /]'不具有預期的效果。由於'test EXPR'和'[ EXPR ]'具有相同的含義,因此以下僅討論前一種形式。

因此,相當於將如下所示:

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

沒錯。條件'''''''''只是一個shell命令,和其他命令一樣,命令名('[')'必須與它的參數('-lt 10]')分開。 –