By francis_hao Mar 31,2018
引用,用来移除某个字符或单词对于shell的特殊含义
每个元字符对于shell都有特殊含义,可分割单词,如果想使用其本身的含义就需要用到引用,元字符如下
| | & | ; | ( | ) | < | > | space | tab |
如果满足历史命令扩展的条件而又不想扩展就必须使用引用。命令扩展通常是"!"
有三种引用机制,如下
转义符,可以使一些有特殊含义的字符保持其本身含义 | |||||||||
' | 单引号里的内容都保持了其本身的含义,单引号里不能再有单引号 | ||||||||
" | 双引号里的内容除了几个特例,其余内容都保持其本身含义。特例包括
|
有一种特殊形式:$'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