Bash에서 문자열 비교가 작동하지 않습니다

Bash에서 문자열 비교가 작동하지 않습니다

bash에서는 간단한 문자열 비교가 작동하지 않습니다. 어떻게 진행되고 있나요?

$ cat compare.sh
function compare {

BEFORE_STATUS=enabled
AFTER_STATUS=disabled

if [ $BEFORE_STATUS = $AFTER_STATUS ]
then
   echo -e "1.  Before and after values not matching. PLEASE CHECK !!!!"
else
   echo -e "1.  Before and after values are matching. It is Ok."
fi
}

compare

실행 후:

$ sh compare.sh
1.  Before and after values are matching. It is Ok.
$

답변1

스크립트가 작성된 대로 작동하고 있습니다. 블록 echo의 명령문이 if거꾸로되어 있습니다. 두 번째가 첫 번째가 되어야 하고, 첫 번째가 두 번째가 되어야 합니다. 아니면 조건을 거부하세요 test.

관련 정보