BASH中的引用

    BASH中的“引用”是用来去除某些字符或者符号的特殊意义的。引用可以禁止对特殊字符的特殊对待,禁止保留字被BASH识别。还可以禁止参数扩展。

    BASH中的每一个元字符都有他们的特殊意义,如果你想要让元字符代表它们本身(也即它们的字面值),不被SHELL进行扩展,就必须在使用的时候引用它们!BASH中的元字符有以下几个:

|           &          ;          (          )          <          >          space          tab

    当命令历史扩展被使能,历史扩展字符!必须被引用以防止被扩展

    在BASH中有三种引用机制:转义字符,单引号,双引号。

     转义字符 :一个没有被引用的反斜杠就是转义字符。转义字符会使紧跟在它后面的字符保留它的字面意思。仅仅有一种例外:新行<newline>出现在反斜杠后面的时候,如果反斜杠没有被转移的话,<newline>代表一行的继续。

     单引号:括在一对单引号中的字符会保留他们的字面值。一个单独的单引号不能出现在一对单引号中,即使中间的单引号使用了转义字符进行转义也不可以。

     双引号:括在一对双引号中的字符大部分会保留它们的字面意思。我说的是大部分,因为存在四种异常情况:

      1.    ‘$’:美元符号。如果美元符号出现在了一对双引号中间,美元符号代表它的特殊意义,即如果后接存在的变量,会进行扩展。

      2.     ‘`’ :反单引号。如果反单引号出现在了一对双引号之间,也代表它的特殊意义。

      3.    `\`:反斜杠。如果反斜杠出现在了一对双引号之间,当且仅仅当反斜杠后面是下面的五种字符的时候,反斜杠才会代表它的特殊意义

                   (1)$  美元符号

                   (2) `  反单引号

                   (3) \  反斜杠

                   (4) "   双引号

                   (5) <newline>  新行

     4.   !    :感叹号。如果历史扩展功能使能的话,当双引号中出现感叹号的时候,会进行历史扩展,除非在感叹号的前面加上转义字符进行转义。但是转义之后反斜杠并不会从输出中去除。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值