이 간단한 bash 스크립트가 if/then/else에 오류를 발생시키는 이유는 무엇입니까? [폐쇄]

이 간단한 bash 스크립트가 if/then/else에 오류를 발생시키는 이유는 무엇입니까? [폐쇄]

이 스크립트를 실행하려고 하면 다음과 같습니다.

clear
echo -n "please enter a value"

read num 

if [ "$num" -eq 8 ] then
        echo "you entered 8"
else
        echo "the number you entered was not 8"

다음 출력/오류가 나타납니다.

값 5를 입력하십시오
. ./script.sh: 9행: 'else' 태그 근처에 예기치 않은 구문 오류가 있습니다.
./script.sh: 9행: else'

이 스크립트가 실행되지 않는 이유는 무엇입니까?

답변1

절 뒤에 세미콜론이나 개행 문자가 누락되어 있고 if블록 끝에는 없습니다.fiif

#!/bin/bash
clear
echo -n "please enter a value"

read num 

if [ "$num" -eq 8 ]
then
        echo "you entered 8"
else
        echo "the number you entered was not 8"
fi

기타 제안사항:

  • #!스크립트는 항상 사용할 인터프리터를 시스템에 알려주는 줄로 시작해야 합니다.
  • 귀하의 비교 [ "$num" -eq 8 ]는 수치 비교입니다. 사용자가 실제로 숫자를 입력할지 확실하지 않은 경우 문자열 비교를 사용해 보세요.[ 8 = "$num" ]
  • read명령문 에 프롬프트를 포함할 수 있습니다 .read -p "Please enter a value: " num

관련 정보