• shell中的引用


    By francis_hao    Mar 31,2018

     

    引用,用来移除某个字符或单词对于shell的特殊含义

    每个元字符对于shell都有特殊含义,可分割单词,如果想使用其本身的含义就需要用到引用,元字符如下

    |

    &

    ;

    (

    )

    <

    >

    space

    tab

     

    如果满足历史命令扩展的条件而又不想扩展就必须使用引用。命令扩展通常是"!"

     

    有三种引用机制,如下

    转义符,可以使一些有特殊含义的字符保持其本身含义

    '

    单引号里的内容都保持了其本身的含义,单引号里不能再有单引号

    "

    双引号里的内容除了几个特例,其余内容都保持其本身含义。特例包括

    $

    用于变量置换

    `

    用于命令置换

    只有在其后跟随$ ` " <newline>的时候才作为特例,否则就是字符本身

    !

    只有在符合历史命令扩展的时候才作为特例,否则就是字符本身

     

    有一种特殊形式:$'string',用于ANSI C标准的转义序列,string是下面的一种

    a

    响铃

    

    退格

    e

    溢出(ESC

    E

    f

    换页符

    换行

    回车

    制表符

    v

    垂直制表符

     

    示例

    1、特殊形式$'string'的用法,这里是退格字符。

     

    2、这里的*不属于双引号引用里的特例,所以不会被扩展,只是以字符本身对待。

    所以在下面的脚本中,第二种写法就会导致结果不是预期的了

     

     


    本文由 刘英皓 创作,采用 知识共享署名-非商业性使用-相同方式共享3.0中国大陆许可协议 进行许可。欢迎转载,请注明出处:
    转载自:http://www.cnblogs.com/yinghao1991/p/8682143.html

     

     

    参考

    【1】man bash

  • 相关阅读:
    052-34
    052-33
    052-32
    052-31
    052-30
    052-28
    react组件之间通信
    排序算法
    点外卖
    js的各种排序算法
  • 原文地址:https://www.cnblogs.com/yinghao-liu/p/8682143.html
Copyright © 2020-2023  润新知