Почему следующее условие IF в ksh всегда оценивается как true?

Обратите внимание, что приведенный ниже код работает как положено:

if [[ $SOME_VARIABLE = "TRUE" ]]; then
   echo "Only echoed when \$SOME_VARIABLE stores string \"TRUE\"."
fi

Но когда я удаляю пробел вокруг оператора равенства, он всегда оценивается как 0 из состояния выхода (по крайней мере, это 's, что я предполагаю, что это должно возвращаться, поскольку это взято как истина):

if [[ $SOME_VARIABLE="TRUE" ]]; then
   echo "Always true."
fi

ОБНОВИТЬ:

Просто чтобы подтвердить, связана ли проблема с оператором равенства или нет:

#!usr/bin/ksh

SOME_VARIABLE=FALSE

if [[ $SOME_VARIABLE == "TRUE" ]]; then
   echo "Only echoed when \$SOME_VARIABLE stores string \"TRUE\"."
fi


if [[ $SOME_VARIABLE=="TRUE" ]]; then
   echo "Always true."
fi


[kent@TEST]$ sh test.sh
Always true.

ОБНОВИТЬ:

Резюме:

С помощью= такой же как== выше, но устарел.ВСЕГДА следите за своим пространством.

Ответы на вопрос(3)

Ваш ответ на вопрос