then 및 fi에 대한 구문 오류

then 및 fi에 대한 구문 오류

나는 다음 스크립트를 작성했습니다.

#!/bin/bash
#Greetings
#This program displays greetings according to the time of the day
#
echo
hour='date +%H'
if[ "$hour" -le 12 ]
then
    echo "GOOD MORNING"
elif[ "$hour" -le 18 ]
then
    echo "GOOD AFTERNOON"
else
    echo "GOOD EVENING"
fi
done 
echo

then계속해서 그들의 진술이 잘못되었다고 말하고 있습니다 fi.

답변1

if/keywords 뒤에는 일부 공백이 필요합니다 elif(그렇지 않으면 쉘은 해당 공백이 다음 단어와 분리되어 있음을 인식하지 못합니다).

if [ "$hour" -le 12 ]; then echo "hour is less than or equal to twelve"; fi

관련 정보