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

文章目录 「隐藏」
  1. -bash: !: event not found 错误怎么解决?
    1. shopt 使用

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

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

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

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

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

shopt 使用

shopt [-psu] [optname …]

  • -s 开启某个选项
  • -u 关闭某个选项
  • -p 列出所有可设置的选项

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

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

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

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

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

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

《rm 删除文件提示 -bash: !: event not found 错误怎么解决?》留言数:0

发表留言