“如何调试”;条件表达式中的语法错误;在Bash?

“如何调试”;条件表达式中的语法错误;在Bash?,bash,terminal,Bash,Terminal,我正在写一个Bash脚本,我是新手。当我运行它时,会出现以下错误: ./greet: line 14: syntax error in conditional expression ./greet: line 15: syntax error near `then' ./greet: line 15: ` then ' 它抛出的代码行如下所示: if [[ $hour -lt 0 || $hour -gt 23]] then echo "Please Enter a v

我正在写一个Bash脚本,我是新手。当我运行它时,会出现以下错误:

./greet: line 14: syntax error in conditional expression

./greet: line 15: syntax error near `then'
./greet: line 15: `   then '
它抛出的代码行如下所示:

if [[ $hour -lt 0 || $hour -gt 23]]
   then
      echo "Please Enter a value between 0-23"
      exit 1
fi
#

我尝试在“then”后面加空格,并多次重写。

if
语句中,您需要在
]
前面加空格。
[[
]
必须是shell定义的它们自己的“单词”,因此被空格包围。

省去了一些使用shell的麻烦