1. ホーム
  2. bash

[解決済み] bashの文字列の等価性 [重複] [重複

2022-07-01 05:39:51

質問

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

どのように解決するのですか?

違いはありません。 == の同義語です。 = (C/C++の人向けだと思いますが)です。参照 ここで を、例えば

念のため、ダブルチェックすることもできます。 本当に を見ることで、確認することができます。 バッシュのソースコード を見ると、解析コードのどこかにあるはずなのですが、すぐには見つけられませんでした。