首页 > 其他 > 详细

Shopt命令(删除排除)

时间:2019-02-20 19:10:12      阅读:187      评论:0      收藏:0      [点我收藏+]

有时候我们需要反选某个文件以外的其他文件,就会用到rm -rf!(file)命令,但是有时候这条命令会报错显示 -bash: !: event not found 

解决办法:shopt -s extglob开启模式匹配功能

 

shopt命令

shopt命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。
shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。

开启与关闭

开启shopt命令:shopt -s extglob 
关闭shopt命令:shopt -u extglob 

开启之后,以下5个模式匹配操作符将被识别:

  • ?(pattern-list) - 所给模式匹配0次或1次;
  • *(pattern-list) - 所给模式匹配0次以上包括0次;
  • +(pattern-list) - 所给模式匹配1次以上包括1次;
  • @(pattern-list) - 所给模式仅仅匹配1次;
  • !(pattern-list) - 不匹配括号内的所给模式。

实例:

删除文件名不以jpg结尾的文件: 

rm -rf !(*jpg) 

删除文件名以jpg或png结尾的文件:

rm -rf *@(jpg|png)

删除除aa和bb目录以外的其它目录或文件

rm -rf !(aa|bb)

 

需要注意的是,shopt命令的开启与关闭要与所用的命令分行隔开,避免出现在同一行

#!/bin/bash
shopt -s extglob
rm -fr /home/jenkins/workspace/kada-admin-vue/!(node_modules|mydir)
shopt -u extglob

 

Shopt命令(删除排除)

原文:https://www.cnblogs.com/wjoyxt/p/10408423.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!