Bash равенство строк

В bash, какая разница, если таковая имеется, между равными и двойными равными тестовыми операторами?

[[ "a" = "a" ]] && echo equal || echo not-equal
[[ "a" == "a" ]] && echo equal || echo not-equal
[[ "a" = "b" ]] && echo equal || echo not-equal
[[ "a" == "b" ]] && echo equal || echo not-equal

приводит к:

equal
equal
not-equal
not-equal

Ответ 1

Нет никакой разницы, == является синонимом для = (для людей C/С++, я полагаю). Например, здесь.

Вы можете дважды проверить, чтобы быть действительно уверенным или просто для вашего интереса, посмотрев bash исходный код, должно быть где-то в синтаксическом коде там, но я не мог найти его сразу.