美文网首页我用 Linux程序员Shell
Linux Shell 通配符、元字符、转义符使用实例介绍

Linux Shell 通配符、元字符、转义符使用实例介绍

作者: 七寸知架构 | 来源:发表于2016-12-28 22:58 被阅读383次

说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例:

Linux shell通配符(wildcard)##

通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在 命令的“参数”里(它不用在 命令名称里, 也不用在 操作符上)。当shell在“参数”中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。总之,通配符实际上就是一种shell实现的路径扩展功能。在通配符被处理后, shell会先完成该命令的重组,然后再继续处理重组后的命令,直至执行该命令。

我们回过头分析上面命令吧:

在命令2中,*.bin 实际shell搜索文件,找到了符合条件的文件,命令会变成:ls idea.bin,实际在执行ls 时候传给它的是idea.bin 。

而命令3中d*.bin 由于当前目录下面没有这样的文件或目录,直接将”d\*.bin” 作为ls参数,传给了 ls 。这个时候”*” 只是一个普通的 ls 参数而已,已经失去了它通配意义。 由于找不到文件,所以会出现:无法访问提示!

Shell常见通配符:

需要说明的是:通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆。把通配符理解为shell 特殊代号字符就可。而且涉及的只有,*,? [] ,{} 这几种。

Shell元字符(特殊字符 Meta)##

Shell 除了有通配符之外,由Shell 负责预先先解析后,将处理结果传给命令行之外,Shell还有一系列自己的其他特殊字符。

可以看到shell 元字符,基本是作用在命令上面,用作多命令分割(或者参数分割)。因此看到与通配符有相同的字符,但是实际上作用范围不同。所以不会出现混淆。

Shell转义符##

有时候,我们想让通配符,或者元字符 变成普通字符,不需要使用它。那么这里我们就需要用到转义符了。 Shell提供转义符有三种。

示例如下:

Shell解析脚本的过程##

如果用双引号包括起来,Shell检测跳过了1-4步和9-10步,单引号包括起来,Shell检测就会跳过了1-10步。也就是说,双引号 只经过参数扩展、命令代换和算术代换就可以送入执行步骤,而单引号转义符直接会被送入执行步骤。而且,无论是双引号转义符还是单引号转义符在执行的时候能够告诉各个命令自身内部是一体的,但是其本身在执行时是并不是命令中文本的一部分。

相关文章

  • Linux Shell 通配符、元字符、转义符使用实例介绍

    说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例: Linux shell通配符...

  • linux || 通配符&元字符& 转义符

    1 通配符(wildcard) 注意:需要说明的是,通配符与正则表达式语句有些相似,但它与正则表达式不同,只能将其...

  • SQL转义字符和通配符

    1.使用 ESCAPE 关键字,定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。...

  • 3.系统模块中-re

    元字符:. ^ $ * + ? {} [] | () \ 11个符号的使用 ①通配符. 除了换行符,其他都可以匹...

  • 9.Linux基本命令操作

    目录: • Linux终端介绍 Shell提示符 Bash Shell基本语法。• 基本命令的使用:ls、pw...

  • 5分钟教你搞定Linux正则表达式(一)

    元字符通常在Linux中分为两类:Shell元字符,由Linux Shell进行解析;正则表达式元字符,由vi /...

  • 处理字符串的小技巧

    将元字符转义 需求: 在String中有一些属于是正则或者通配符的元字符, 而想将这个String转化,或者嵌入到...

  • 转义字符

    如果需要查找元字符或限定符本身,如. 或就需要用到转义字符,这时候就需要使用转义字符如查找.需要使用.查找需要使用...

  • 第二节:基本概念及操作

    本节我们主要学习常用Shell命令,Linux使用技巧,其中包括Linux的基本命令,软件安装通配符的使用。 1....

  • 正则总结

    正则 元字符特殊含义的元字符\:转义符^:开头$:结尾\n:匹配一个换行符.:除了\n以外的任意字符x|y :x或...

网友评论

    本文标题:Linux Shell 通配符、元字符、转义符使用实例介绍

    本文链接:https://www.haomeiwen.com/subject/aptuvttx.html