我尝试自动从目录中删除所有文件,但排除特定文件
如果我从终端运行它,语法$ rm *.!(vmx*|vmd*)
效果很好,但如果我创建一些 bash 脚本文件(例如名为: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
然后才能使用该!( ... )
模式。 (或其他扩展模式?( ... )
, *( ... )
, +( ... )
, 和@( ... )
)