Равенство строк 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/C++, я полагаю). Смотрите здесь, например.

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

Другие вопросы по тегам