以下をご覧ください:
$ echo .[].aliases[]
..
$ echo .[].foo[]
..
$ echo .[].[]
..
$ echo .[].xyz[]
..
$ echo .xyz[].xyz[]
.xyz[].xyz[]
$ echo .xyz[].[]
.xyz[].[]
明らかに、これは何かを伝えるようですが、結果がどのように調和しているのか理解していません。私の理解によると、[]
これは空の文字クラスです。直観的に見ると
- これは空の文字列にのみ一致します。この場合、そのディレクトリに一致するものがないので、bashが文字列全体を再現できることを願っています。また
..aliases
、(最初の例では)次のようになります。 - それとも何もありません。この場合、bashが文字列も正確に再現できることを願っています。
これはGNU bashバージョン4.4.23(1)リリースバージョンです。
ベストアンサー1
[
グループを始めてください。グループがによって終了しました]
。ただし、]
これをセットの一部にする方法があります。つまり、]
最初の文字で指定することです。空のセットは意味がないので、これはあいまいではありません。
したがって、あなたの例は、基本的にポイントとそのポイントを含むセットが続きますので、2つのポイントと一致します。
後の例ではファイルが見つからないため、そのまま返します。