`[$'\r\n']` とはどういう意味ですか?

`[$'\r\n']` とはどういう意味ですか?

私はこの表現をたくさん使っていますline=${line//[$'\r\n']}。しかし、これは何を[$'\r\n']意味しますか?

文字を削除できることはわかっていますが、'\r\n'どうすればよいですか? 2文字のインスタンスのみを削除しますか、それとも1文字の一致も検索しますか?

この構文の使い方を理解できません。

可能であればマニュアルリンクお願いします。この質問に対する答えが見つかりません。

ベストアンサー1

このコマンドは、変数からすべてのキャリッジリターンと改行バイトを削除しますline

${line//XYZ}これはパラメータ拡張のためのBash(およびzshとksh)拡張です。みんなパターンは何でもXYZ一致します$line

このパターンには[$'\r\n']2つのコンポーネントがあります。[...]マッチどの内部文字$'\r\n'はいANSI-Cの引用(他の拡張子)、キャリッジリターン(\r)、および改行(\n)バイトに拡張されます。これにはキャリッジリターンと改行文字が[$'\r\n']含まれているため、[...]両方とも一致します。

これ完全なマニュアルシェルコマンド、演算子、括弧などがすべてここにあります。、POSIX/SUS/IEEE 1003.1 仕様の一部です。これ吹く参考マニュアルはこちら

おすすめ記事