、转义
单引号和双引号都能关闭shell对特殊字符的处理。不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体的说,就是①美元符号②反撇号③反斜杠,这3种特殊字符不被忽略;不忽略美元符号意味着shell在双引号内部也进行变量名替换。
1)单引号
硬转义,单引号内的字符就是其字面意义。阻止shell进行变量替换和解释特殊字符;对于后一种情况,单引号就是个转义字符,类似于反斜线。
2)双引号
会进行变量替换;将整个字符串解释为一个整体,即使参数里面含有空白字符也不会被shell分割开
3)反撇号
相当于$ ()–命令替换
会把命令执行的输出,替换;相当于函数调用,嵌套的变量会一直解析
① 把shell命令用反引号或者$ (…)结构括起来,其中,$(…)格式受到POSIX标准支持,也利于嵌套
② 反撇号内不能再引用反撇号,而$()中可以引用反撇号
③ 要把( ) 引 用 命 令 与 ()引用命令与()引用命令与{}引用变量区分开来
4)反斜线
用作转义字符,阻止shell将后续字符解释成特殊字符
2、示例
1)****/home/edwardlewis/altraman # echo ‘date’
date
****:/home/edwardlewis/altraman # echo “date”
date
****:/home/edwardlewis/altraman # echo `date`