use*_*363 2 linux bash while-loop
我已经开始学习bash脚本了.我写了简单的while循环,但它不起作用.它说:命令没有找到.有人知道为什么吗?这是我的代码:
let x=5; while [$x -lt 10];do echo "x is : $x";let x=$x+1; done
Run Code Online (Sandbox Code Playgroud)
小智 5
添加空格.
while [ $x -lt 10 ];
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅如何使用双括号或单括号,括号,花括号的答案:
单个括号(
[)通常实际上调用一个名为的程序[;man test或man [了解更多信息.例:Run Code Online (Sandbox Code Playgroud)$ 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
Run Code Online (Sandbox Code Playgroud)