コマンドで「*(1)*」とはどういう意味ですか?

コマンドで「*(1)*」とはどういう意味ですか?

*(1)*なぜディレクトリ内のすべてを削除するのですか?それでは、(1)途中で名前のあるすべてのファイルを選択する方法は?

使用されたコマンドはrm *(1)*orですrm -rf *(1)*(明確に覚えていません)。これがデフォルトのUbuntuシェルです。

ベストアンサー1

Bashで設定されているようなkshスタイル拡張グローブを有効にすると、extglobパターンは*(1)*実際にはすべてのファイル名と一致します。この*(...)構文は、括弧で囲まれた部分のゼロ以上のコピーと前のコピー(存在する場合)と一致します。その後、*残りの部分を一致させます。

POSIXに似たシェルを使用する場合いいえ(拡張globの場合、演算子がその構文に合わないため、エラーが発生します。

*1*デフォルトでは、zshはグループ化にのみ使用される角かっこと同じだと思います。ただし、kshglobシェルオプションを設定すると、kshルールが使用されます。

extglob最新バージョンのUbuntuは、基本的にインタラクティブシェルでBashに設定されていると思います。

(1)ファイルを中間のテキストセクションと一致させるには、セクションまたは少なくとも括弧(*\(1\)*、または)を引用またはエスケープします*"(1)"*

おすすめ記事