我一直在 Codecademy 上上一门命令行课程,但收到一个错误,我不明白它为什么在那里。
我在 script.sh 文件中输入以下代码:
01 #!/bin/bash
02 first_greeting="Nice to meet you!"
03 later_greeting="How are you?"
04 greeting_occasion=0
05
06
07 if [$greeting_occasion -lt 1]
08 then
09 echo $first_greeting
10 else
11 echo $later_greeting
12 fi
当我在 bash 上运行时,我得到这个:
$./script.sh
./script/sh: line 6: [1: command not found
How are you?
我尝试过更改greeting_occasion
值,但结果总是How are you?
在第 6 行出现错误。另外,我尝试更改条件以从第 5 行开始,但在同一行第 6 行上出现相同的错误,并且结果相同How are you?
。
对这件事有什么想法吗?感谢您的时间!
答案1
你需要一个空间[ $greeting_occasion -lt 1 ]
。
已$greeting_occasion
转换为1
.这给了
if [1 -lt 1]
因此 bash 尝试使用[1
参数运行-lt
,1]
并将其退出代码传递给if