转义字符
有时我们只想引用一个字符。 为此,我们可以在字符前加一个反斜杠,在此上下文中称为 转义符. 通常这是在双引号内完成的,以选择性地防止扩展:
[我@linuxbox ~]$ echo "用户 $USER 的余额为:\$5.00"
用户 me 的余额是:$5.00
[我@linuxbox ~]$ echo "用户 $USER 的余额为:\$5.00"
用户 me 的余额是:$5.00
使用转义来消除文件名中字符的特殊含义也很常见。 例如,可以在文件名中使用通常对 shell 具有特殊含义的字符。 这些将包括“$”、“!”、“&”、“ ”等。 要在文件名中包含特殊字符,您可以这样做:
[我@linuxbox ~]$ mv bad\&filename good_filename
[我@linuxbox ~]$ mv bad\&filename good_filename
要允许出现反斜杠字符,请键入“\\”将其转义。 请注意,在单引号中,反斜杠失去了其特殊含义并被视为普通字符。

反斜杠转义序列
除了作为转义字符的作用外,反斜杠还用作符号的一部分来表示某些特殊字符,称为 控制码. ASCII 编码方案中的前 32 个字符用于向类似电传类型的设备传输命令。 其中一些代码是熟悉的(制表符、退格、换行和回车),而另一些则不是(空、传输结束和确认)。
转义序列 | 意 |
\a | 响铃(“警报” - 使计算机发出哔哔声) |
\b | Backspace键 |
\n | 新队。 在类 Unix 系统上,这会产生换行符。 |
\r | 回车 |
\t | 制表 |
上表列出了一些常见的反斜杠转义序列。 这种使用反斜杠的表示背后的想法起源于 C 编程语言,并已被许多其他语言采用,包括 shell。
将“-e”选项添加到 回音 将启用转义序列的解释。 你也可以把它们放在里面 $' '. 在这里,使用 睡觉 命令,一个简单的程序,只等待指定的秒数然后退出,我们可以创建一个原始的倒数计时器:
睡10; echo -e "时间到\a"
我们也可以这样做:
睡10; echo "时间到了" $'\a'
文件记录