为了能够更好地理解用户的表达, Shell 解释器还提供了特别丰富的转义字符来处理输入的特殊数据。 4 个最常用的转义字符如下所示。
  • 反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。
  • 单引号(''):转义其中所有的变量为单纯的字符串。
  • 双引号(""):保留其中的变量属性,不进行转义处理。
  • 反引号(``):把其中的命令执行后返回结果。

先定义一个名为 love  的变量并赋值为 aiqing ,然后输出以双引号括起来的字符串与变量信息:
[root@localhost ~]# LOVE="ai qing"
[root@localhost ~]# echo "love is $LOVE"
love is ai qing
[root@localhost ~]#
接下来,我们希望能够输出“ Price is $5 ”,即价格是 5 美元的字符串内容,但碰巧美元符号与变量提取符号合并后的$$ 作用是显示当前程序的进程 ID 号码,于是命令执行后输出的内容并不是我们所预期的,要想让第一个“$”乖乖地作为美元符号,那么就需要使用 反斜杠(\)来进行转义,将 这个命令提取符转义成单纯的文本,去除其特殊功能。
[root@localhost ~]# PRICE=5
[root@localhost ~]# echo "$PRICE"
5
[root@localhost ~]# echo "$$PRICE"
3690PRICE
[root@localhost ~]# echo "\$$PRICE"
$5

而如果只需要某个命令的输出值时,可以像`命令`这样,将命令用反引号(反引号是esc下边的键)括起来,达到预期的效果。例如,将反引号与 uname -a 命令结合,然后使用 echo 命令来查看本机的 Linux 版本和内核信息:

[root@localhost ~]# echo `uname -a`
Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

更多推荐

3.4 Linux常用的转义字符