简单的bash while循环创建一个名为0的不需要的文件

简单的bash while循环创建一个名为0的不需要的文件

由于某些无法解释的原因,当我运行以下代码(显然是最小化的)时,会创建一个名为“0”的文件。有人可以解释一下为什么会发生这种情况,以及如何避免这种情况吗?非常感谢

#!/bin/bash
while [ 1 > 0 ] 
    do
        exit
    done

答案1

> 0重定向到名为0.注意> something或类似语法不一定要在最后。即使重定向的命令没有意义,也会创建该文件。在您的情况下,该命令[ 1 ]在语法上是有效的:它检查是否1是非空字符串。

你可能是说[ 1 -gt 0 ]。参见help [help test | less

相关内容