布丁快跑

rm 删除文件提示 -bash: !: event not found 错误怎么解决?

rm 删除某个文件(文件夹)外所有文件,如 rm -rf !(ftmp) —— 删除当前目录下除 ftmp 开头的文件/文件夹外所有文件和目录,提示 -bash: !: event not found 错误怎么解决?

「rm 删除文件提示 -bash: !: event not found 错误怎么解决?:https://bdkp.net/25」

-bash: !: event not found 错误怎么解决?

rm -rf !(ftmp) —— 删除当前目录下除 ftmp 开头的文件/文件夹外所有文件和目录,提示 -bash: !: event not found 错误怎么解决?

错误原因:未开启扩展通配符

「rm 删除文件提示 -bash: !: event not found 错误怎么解决?:https://bdkp.net/25」

shopt 使用

shopt [-psu] [optname …]

列出所有可设置选项:shopt -p

「rm 删除文件提示 -bash: !: event not found 错误怎么解决?:https://bdkp.net/25」

查看扩展通配符是否开启:shopt extglob

开启扩展通配符:shopt -s extglob

开启 extglob 扩展通配符再执行 rm -rf !(ftmp) 就不会报错了。

「rm 删除文件提示 -bash: !: event not found 错误怎么解决?:https://bdkp.net/25」

如何经常使用,还可以写成 shell 脚本,如:

#! /bin/bash
cd /root/test
shopt -s extglob
rm -rf !(lock|unlock)
echo ***Cleaning Done***

退出移动版