Bash сценарий неожиданного оператора

Я пишу script для git hook и испытываю проблемы с оператором if внутри while.

Файл:

#!/bin/sh
while read oldrev newref ref
do
    branch=$(git rev-parse --symbolic --abbrev-ref $ref)

    if [ "a"  == "a" ]
    then
        echo "Condition work"
    fi

    echo "$branch"
done

Ошибка:

hooks/post-receive: 6: [: a: unexpected operator

Я попытаюсь использовать переменные, двойные кавычки, но if не работает. Какая ошибка здесь?

Спасибо

Ответ 1

if [ "a" == "a" ] должен быть if [ "a" = "a" ].

bash принимает == вместо =, но ваш /bin/sh, вероятно, не bash.

Итак, либо измените == на =, либо ваш shebang на #!/bin/bash