Bash Shell有个extglob选项,开启之后Shell可以另外识别出5个模式匹配操作符,能使文件匹配更加方便。

开启方法很简单,使用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)

shopt命令

内置命令shopt(shell option)开启、关闭和列出那些控制着shell行为的某些bash特性。举例来说,下面的命令将使bash在扩展模糊文件引用时,包含那些以句号(.)开头的文件名,-s表示设置:

  $ shopt -s dotglob

  通过下面的命令可将这项特性关闭(默认),-u表示取消设置:

  $ shopt -u dotglob

  如果只将特性的名称作为shopt唯一的参数,shell显示该特性是如何设置的:

  $ shopt dotglob

dotglob off

  命令shopt不带任何选项或者参数时,将列出由shopt控制的那些特性及其状态。命令shopt -s不带参数时,将列出那些由shopt控制并设置为开启的特性。命令shopt –u将列出那些被取消或者关闭的bash特性。表8-13列出了bash特性。

  使用shopt设置set ±o特性

  提示 可以使用shopt设置或者取消那些由set ±o控制的特性。使用常规的shopt –s或者-u语法,并包含-o选项。举例来说,下面的命令将开启noclobber特性:

  $ shopt –o –s noclobber

博文原地址

http://fyan.iteye.com/blog/1171470

转载于:https://blog.51cto.com/jiaquan1991/1565056

Useful Shell Option – extglob 和 shopt命令相关推荐

  1. linux命令输入错误怎么弄,Linux下用shopt命令来帮我们自动纠错输入cd 错误

    下面是关于shopt命令的一些参数的用法 选项 含义 cdable_vars 如果给cd内置命令的参数不是一个目录,就假设它是一个变量名,变量的值是将要转换到的目录 cdspell 纠正cd命令中目录 ...

  2. 【Linux】一步一步学Linux——shopt命令(214)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 参数说明 06. 附录 01. 命令概述 shopt命令用于显示和设置shell中 ...

  3. Linux 命令(228)—— shopt 命令(builtin)

    文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 5.Shell 选项 参考文献 1.命令简介 shopt 用于显示和设置 Shell 中的行为选项,通过修改这些选项来改变 Shell ...

  4. 【shell】linux通过complete命令完成使用tab键自动补全

    一.需求 1.通过shell脚本完成一个linux命令,并在执行时可使用tab键补全命令和参数 2.参数分为一级参数和二级参数,并针对不同的一级参数有二级参数 二.实现方式 通过complete,co ...

  5. Linux课程---7、shell技巧(获取帮助命令)

    Linux课程---7.shell技巧(获取帮助命令) 一.总结 一句话总结: ls --help:简单手册 man ls:内容手册 1.tab补全? 命令+tab:加快敲命令敲文件目录的速度,多敲几 ...

  6. 在 Shell 脚本中跟踪调试命令的执行

    文章目录 shell 脚本调试系列 概述 shell 跟踪执行的重要性 shell 脚本调试系列 本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的 ...

  7. Linux centos7 shell特殊符号、cut命令、sort_wc_uniq命令、tee_tr_split命令、shell特殊符号...

    一.shell特殊符号.cut命令 *任意字符 [root@davery ~]# ls /tmp/*.txt /tmp/1.txt /tmp/2.txt /tmp/q.txt [root@davery ...

  8. Shell Here Document 免交互命令和Expect

    Shell Here Document 免交互命令和Expect 一.Here Document 免交互命令 二.Expect 1.基本命令 2.示例 3.嵌入执行模式 4.实现ssh自动登录 5.免 ...

  9. Shell脚本中循环select命令用法笔记

    在Shell脚本中,select命令是一种菜单扩展的循环方式. 语法结构如下: select Menu in (list) do command done 说明:当程序运行到select语句时,会自动 ...

最新文章

  1. DNA测序,第一代DNA测序,第二代DNA测序,第三代DNA测序,sanger法
  2. SSISDB6:参数和环境变量
  3. HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息
  4. Zephyr_Bindings目录作用
  5. 在lamp环境下搭建多种论坛(下)
  6. 【java】爬虫之零基础利用postman分析并实现12306余票查询功能
  7. 搜狗浏览器安装插件(.crx)
  8. mysql按照学生分组查询_MySQL分组查询
  9. 陈强教授《机器学习及R应用》课程 第十七章作业
  10. 计算机学硕答辩,东南大学计算机硕士毕业答辩基本流程(参考).doc
  11. Codeforces Round #807 (Div. 2)补题
  12. 数据库SQL实践25:获取员工其当前的薪水比其manager当前薪水还高的相关信息
  13. 二 、C语言程序的基本语句和基本结构
  14. linux安装mysql centos_Linux CentOS安装Mysql
  15. 三国志战略版S1初始赛季攻略合集 s1赛季秘籍三国志战略版新手攻略
  16. 修改plot的背景颜色[matplotlib][axes][facecolor]
  17. macOS npm -g 安装路径
  18. HTTP头信息(转)--1
  19. linux能还原文件版本吗,使用Linux文件恢复工具
  20. SQL-update更新数据

热门文章

  1. springboot 请求路径有后缀_springboot指定访问url接口后缀:*.do或*.action
  2. 青少年python编程课_青少年之Python编程课程安排第一季
  3. 51单片机教程哪个好?
  4. PTA团体程序设计天梯赛-L2-023 图着色问题
  5. 2021牛客寒假算法基础集训营1 题解
  6. Codeforces Round #599A~D题解
  7. python代码创建数据库_如何使用python ORM创建数据库表?
  8. luogu P5142 区间方差(线段树、乘法逆元)
  9. 0x41.数据结构进阶 - 并查集
  10. mhd格式三维图像显示_人体面骨三维有限元模型重构及碰撞分析