Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash while循环:没有这样的文件或目录_Bash_Shell_While Loop - Fatal编程技术网

bash while循环:没有这样的文件或目录

bash while循环:没有这样的文件或目录,bash,shell,while-loop,Bash,Shell,While Loop,我有一个简单的bash脚本: #!/bin/bash counter=0 while [ $counter < 100 ]; do echo $counter counter=$((counter+1)) done 在bash中,“小于”运算符是-lt,而不是。请看一看:我可以使用双括号进行算术计算吗?建议引用所有变量。另外,请注意语法((计数器++)也有效。@Kingamere不在while中。您可以使用[[]],尽管它使用相同的运算符进行数值比较。@fedorqui是对

我有一个简单的bash脚本:

#!/bin/bash

counter=0
while [ $counter < 100 ]; do
   echo $counter
   counter=$((counter+1))
done

在bash中,“小于”运算符是
-lt
,而不是
。请看一看:我可以使用双括号进行算术计算吗?建议引用所有变量。另外,请注意语法
((计数器++)
也有效。@Kingamere不在while中。您可以使用[[]],尽管它使用相同的运算符进行数值比较。@fedorqui是对的,你应该在使用变量时引用它们,所以
而[“$counter”-lt 100]
,等等。在这种特定情况下,这没有什么区别,但是如果你将脚本更改为从命令行参数或用户输入开始
$counter
,它会。
而((counter<100));do
是完全有效的
bash
code。就此而言,
For((counter=0;counter)也是有效的
./test: line 4: 100: No such file or directory
#!/bin/bash

counter=0
while [ $counter -lt 100 ]; do
   echo $counter
   counter=$((counter+1))
done