目录
前言:
引用符号在解析器中保护特殊元字符和参数扩展,其使用方法有3种:反斜杠(\),单引号(‘’),双引号(“”)
单引号和双引号必须匹配使用,均可在解析器中保护特殊元字符和通配符,但是单引号(硬转义)主要用于信息的原样输出,防止任何变量的扩展,双引号(软转义)允许变量扩展、转义符和命令替换。单引号保护双引号,双引号保护单引号。
1. 反斜杠
反斜杠通过解析器将1个字符转化为引用符号或转义。
1)在单引号内使用反斜杠,反斜杠不会被解析,保持原样输出。
2)在双引号内使用反斜杠,主要用于美元符号($),反单引号(``),双引号(""),单引号('')的输出,以及转义符的解析,其中单引号的输出中,反斜杠和双引号不能同时使用。
3)不使用单引号和双引号(如:echo \,输出为空),则反斜杠可以被看做自动忽略。
2. 单引号
1)单引号内不允许任何变量、元字符、通配符、转义符的解析,均被原样输出。
2)使用双引号或反斜杠转义可显示输出单引号,但是双引号和反斜杠不能被同时使用。
如命令:echo “\'”,输出结果会为(\'),而不是(')
3)可解析正则表达式,与sed和grep命令配合使用
3. 双引号
保护特殊元字符和通配符不被shell解析,但是允许变量和命令替换,以及转义符的解析。
转义符 | 意义 |
\a | 响铃字符 |
\b | 后退符,即删除前一个字符 |
\c | 输出不换行,与/n作用相反 |
\d | 以“星期、月、日”表示日期 |
\f | 换行,但光标仍停留在原处 |
\h或\H | 显示基本主机名或显示完整的主机名 |
\t或\T | 24小时或12小时制时间 |
\n | 输出换行 |
\r | 光标移至行首,并且不换行 |
\s | 当前shell的名称,如bash |
\t | 插入Tab键 |
\u | 当前登录shell的用户名 |
\v | Bash版本 |
\w | 当前工作目录 |
\W | 当前工作目录的基名 |
\\ | 反斜杠\\,有无双引号,结果相同 |
\$ | 美元符号$,有无双引号,结果相同 |
\" | 双引号“,有无双引号,结果相同 |
\' | 单引号’,不能与双引号同时使用 |
\` | 反单引号`,有无双引号,结果相同 |
\nnn | 插入八进制所代表的ASCII字符 |