터미널이 'then'을 호출하지 않고 구문 오류와 명령을 찾을 수 없음을 보고합니다.

터미널이 'then'을 호출하지 않고 구문 오류와 명령을 찾을 수 없음을 보고합니다.

CentOS 7이 있습니다. BASH에서 매우 간단한 스크립트를 실행하고 있습니다. chmod 명령을 실행한 다음 터미널에서 스크립트 파일을 실행했습니다. 구문 오류인 "명령을 찾을 수 없는 경우"라는 오류 메시지가 나타납니다. 이 문제를 해결하는 데 도움을 주실 수 있나요?

#!/bin/bash
clear
echo "Enter a number:"
read number
if["$num" -eq 10]
then
echo "the number is 10"
elif["$num" -lt 10]
then
echo "that number is less then 10"
elif["$num" -gt 10]
then
echo "this is greater than 10"
else
echo "the number is between 10 and 20"
fi

산출:

Enter a number:
100
./arya.sh: line 6: if[ -eq 10]: command not found
./arya.sh: line 7: syntax error near unexpected token `then'
./arya.sh: line 7: `then'

답변1

[]/와 그 옆에 있는 항목 사이에 최소한 하나의 공백을 넣어야 합니다 .

if [ "$num" -eq 10 ]

[실제로는 표현식을 평가하는 명령의 별칭인 bash 명령이며 test, 닫는 문은 ]표현식의 일부로 평가되지 않도록 자체적으로 이루어져야 합니다.

관련 정보