Bashのサブストリング:ワイルドカードを使用する - 変数の順序が必須なのはなぜですか?

Bashのサブストリング:ワイルドカードを使用する - 変数の順序が必須なのはなぜですか?

私は一緒に働いていますBashのサブストリング- ワイルドカードの使用 -

次のように:

if [[ "$LIST" == *"$SOURCE"* ]]

うまくいきます。

しかし、ただ遊び心のあるだけです(逆)

if [[ *"$SOURCE"* == "$LIST" ]]

動作しません

それでは、なぜ*"$SOURCE"*右側に宣言する必要がありますか?他のLPでは、==いつ使用しても順序は重要ではありません。

答え1

使用時==オペレーター

演算子の右側の文字列はパターンとして扱われます。

...したがって、*ワイルドカードを使用すると機能します。ただし、オペランドを置き換えると*一致させる文字列の一部になりますが、これは望むものではありません。

関連情報