Shell脚本-没有这样的文件错误

Shell脚本-没有这样的文件错误,shell,Shell,此代码返回错误7:无法打开5:没有这样的文件 我应该在哪里换车?您应该使用$n-lt 5。Bash读取的最可移植的POSIX sh兼容方式是: #!/bin/bash n=0 while [[ "$n" < 5 ]] do echo $n ((n++)) done ~ 注: $n-如果n未初始化,则在$n左右加引号有助于防止因缺少操作数错误而崩溃。 [AKA test and-lt-是检查简单算术子句的安全且可移植的方法。 $…是进行算术扩展(即运行计算)的一种安全且可移

此代码返回错误7:无法打开5:没有这样的文件
我应该在哪里换车?

您应该使用$n-lt 5。Bash读取的最可移植的POSIX sh兼容方式是:

#!/bin/bash
n=0
while [[ "$n" < 5 ]]
do
   echo $n
   ((n++))
done
~  
注:

$n-如果n未初始化,则在$n左右加引号有助于防止因缺少操作数错误而崩溃。 [AKA test and-lt-是检查简单算术子句的安全且可移植的方法。 $…是进行算术扩展(即运行计算)的一种安全且可移植的方法;请注意,此扩展中的$n—虽然bash允许您仅使用n,但标准且可移植的方法是使用$n。
首先阅读一本关于shell脚本的优秀指南,例如,我使用while[$n-lt 5]返回[:7:缺失],while[$n-lt 5]返回:`[:7:-lt:unexpected operator`你有一个奇怪的bash:-你从bash中得到了什么-版本?GNU bash,版本4.1.51-release x86\u 64-pc-linux-GNU
#!/bin/bash
n=0
while [ $n -lt 5 ]
do
  echo $n
  let n=$n+1
done
#!/bin/bash
n=0
while [[ "$n" < 5 ]]
do
   echo $n
   ((n++))
done
~  
#!/bin/sh -ef
n=0
while [ "$n" -lt 5 ]; do
    echo "$n"
    n=$(($n + 1))
done