5.2 转义
转义是一种引用单字符的方法。通过在特殊字符前加上转义符 \ 来告诉shell按照字面意思去解释这个字符。
需要注意的是,在一些特定的命令和工具,比如
echo和sed中,转义字符通常会起到相反的效果,即可能会使得那些字符产生特殊含义。
在 echo 与 sed 命令中,转义字符的特殊含义
换行(line feed)。
回车(carriage return)。
水平制表符。
\v
垂直制表符。
\b
退格。
\a
警报、响铃或闪烁。
\0xx
ASCII码的八进制形式,等价于 0nn,其中 nn 是数字。
在
$' ... '字符串扩展结构中可以通过转义八进制或十六进制的ASCII码形式给变量赋值,比如quote=$'\042'。
样例 5-2. 转义字符
下面是一个更加复杂的例子:
样例 5-3. 检测键盘输入
还可以查看样例 37-1。
\"
转义引号,指代自身。
\$
转义美元符号(跟在 \\$ 后的变量名将不会被引用)。
\\
转义反斜杠,指代自身。
根据转义符所在的上下文(强引用、弱引用,命令替换或者在 here document)的不同,它的行为也会有所不同。
含有转义字符的字符串可以赋值给变量,但是仅仅将单一的转义符赋值给变量是不可行的。
转义空格能够避免在命令参数列表中的字符分割问题。
转义符也提供一种可以撰写多行命令的方式。通常,每一行是一个命令,但是转义换行后命令就可以在下一行继续撰写。
在脚本中,如果以 "|" 管道作为一行的结束字符,那么不需要加转义符 \ 也可以写多行命令。但是一个好的编程习惯就是在写多行命令的事后,无论什么情况都要在行尾加上转义符 \。
最后更新于
这有帮助吗?


