![パターンごとにbashから特定のファイルを除くすべてのファイルを削除する方法は? [コピー]](https://linux33.com/image/211530/%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%94%E3%81%A8%E3%81%ABbash%E3%81%8B%E3%82%89%E7%89%B9%E5%AE%9A%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%99%A4%E3%81%8F%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
ディレクトリからすべてのファイルを自動的に削除しようとしますが、特定のファイルを除外しようとしています。
端末で実行すると構文は正常に機能しますが、一部のbashスクリプトファイル(または$ rm *.!(vmx*|vmd*)
名前など)を生成すると機能しません。patt1_exclude_vm_gb.sh
patt1_exclude_vm_gb
-- patt1_exclude_vm_gb.sh
#!/bin/bash
$ rm *.!(vmx*|vmd*)
bashスクリプトを修正する方法を知っている人はいますか?
答え1
このモードを使用する前に、bash
拡張グローバルモードサポートを有効にする必要があります。 (またはその他の拡張モード、、、および)shopt -s extglob
!( ... )
?( ... )
*( ... )
+( ... )
@( ... )