Равенство строк 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, должно быть где-то там в коде синтаксического анализа, но я не смог найти его сразу.