在简单shell脚本中使用while无限循环时出现语法错误

在简单shell脚本中使用while无限循环时出现语法错误,shell,while-loop,Shell,While Loop,一个简单的shell脚本: #!/bin/sh str="hello" while [ -n $str ]; do #do noting, just loop infinitely done 此脚本抛出一个错误,如下所示: ./while.sh: 5: ./while.sh: Syntax error: "done" unexpected 为什么,正确的方法是什么?你需要做点什么!您可以做的最短的事情是: #!/bin/sh str="hello" while [ -n "$str" ]

一个简单的shell脚本:

#!/bin/sh
str="hello"
while [ -n $str ]; do
  #do noting, just loop infinitely
done
此脚本抛出一个错误,如下所示:

./while.sh: 5: ./while.sh: Syntax error: "done" unexpected

为什么,正确的方法是什么?

你需要
做点什么!您可以做的最短的事情是:

#!/bin/sh
str="hello"
while [ -n "$str" ]; do
  :
done
,是
true
的缩写,不执行任何操作并返回success

顺便说一下,我引用了你的字符串
$str
,因为这是你应该经常做的事情