0
アスタリスクを含む変数との正規表現のマッチングを試みています。Bash:二重括弧内のファイル名展開を避ける正規表現テスト
Bashの次のコマンドセットは、オペレータの左側の変数にアスタリスクを付けてファイル名拡張を行います。
test='part1 * part2'
[[ "$test" =~ ^(.+)\ .\ (.+)$ ]] && echo $BASH_REMATCH
での結果:part1 FILE1 FILE2 part2
しかし、それは生じるはずである:私は検索と検索が、これが起こっている理由を理解することはできませんしているpart1 * part2
。
(他に明白な理由がない限り、原則として、常に*拡張*を引用する必要があります)。 –
正規表現をテストの外に宣言することも良い習慣です。なぜなら、読みやすく(エスケープする必要はありません)、b)すべてのBashバージョンで動作するからです([here](http://mywiki.wooledge.org/BashGuide/Patterns)を "正規表現"の下に置きます)。 –
ありがとう@BenjaminW。、私は答えを更新しました。 – owenh000