Shell 外壳程序行7:[14:未找到命令

Shell 外壳程序行7:[14:未找到命令,shell,terminal,sh,Shell,Terminal,Sh,我不知道要解决什么问题这里是代码: #!/bin/sh while true do HOUR=$(date '+%H') TARGET=16 echo $HOUR if [$HOUR -gt $TARGET]; then mail -s "IP" "example@hotmail.com" <<EOF Global_IP=$(curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//

我不知道要解决什么问题这里是代码:

#!/bin/sh
while true
do
HOUR=$(date '+%H')
TARGET=16
echo $HOUR
if [$HOUR -gt $TARGET];
then
mail -s "IP" "example@hotmail.com" <<EOF
Global_IP=$(curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//')
EOF
echo "Sent"
fi
echo "Waiting..."
sleep 3600
echo "Done waiting"
done
!/bin/sh
虽然是真的
做
小时=$(日期'+%H')
目标=16
回声$HOUR
如果[$HOUR-gt$TARGET];
然后

邮件-s“IP”example@hotmail.com“您必须在
[
之后和
]
之前添加空格:

if [ $HOUR -gt $TARGET ];

它在
邮件中失败了吗
?您是否在命令行中单独尝试过这一行?标题给出了它:问题在第7行之前/中,
如果[$HOUR-gt$TARGET];
谢谢,这就解决了问题。