RHEL常用的转义字符

简介: 反斜杠(\):使反斜杠后面的一个变量变为单纯的字符。 单引号(''):转义其中所有的变量为单纯的字符串。 双引号(""):保留其中的变量属性,不进行转义处理。 反引号(``):把其中的命令执行后返回结果。

4 个最常用的转义字符如下所示。

➢ 反斜杠(\):使反斜杠后面的一个变量变为单纯的字符。

➢ 单引号(''):转义其中所有的变量为单纯的字符串。

➢ 双引号(""):保留其中的变量属性,不进行转义处理。

➢ 反引号(``):把其中的命令执行后返回结果。

先定义一个名为 PRICE 的变量并赋值为 5,然后输出以双引号括起来的字符串与变 量信息:

[root@rhel-8 ~]# echo "Price is $PRICE"Price is 5

输出“Price is $5”,即“价格是 5 美元”的字符串内容,但碰巧 美元符号与变量提取符号合并后的$$作用是显示当前程序的进程 ID 号码,于是命令执行后输出的内容并不是我们所预期的:

[root@rhel-8 ~]# echo "Price is $$PRICE"Price is 2685PRICE

要想让第一个“$”乖乖地作为美元符号,那么就需要使用反斜杠(\)来进行转义,将 这个命令提取符转义成单纯的文本,去除其特殊功能:

[root@rhel-8 ~]# echo "Price is \$$PRICE"Price is $5

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

[root@rhel-8 ~]# echo `uname -a`Linux rhel-8 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

反斜杠和反引号的功能比较有特点,同学们一般不会犯错,但对于什么时候使用双引号 却容易混淆,因为在大多数情况下好像加不加双引号,效果都一样:

[root@rhel-8 ~]# echo aa bb ccaa bb cc[root@rhel-8 ~]# echo "aa bb cc"aa bb cc

两者的区别在于用户无法得知第一种执行方式中到底有几个参数。

因 为有可能把“AA BB CC”当作一个参数整体直接输出到屏幕,也有可能分别将 AA、BB 和 CC 输出到屏幕。而且,就算摸清了 echo 命令处理参数的机制,在使用其他命令时依然存在 这种情况。

如果参数中出现了 空格,就加双引号;如果参数中没有空格,那就不用加双引号。

相关文章
|
内存技术
RHEL命令行的通配符
通用的匹配信息的符号
154 0
RHEL命令行的通配符
|
Linux Perl
LINUX使用sed,字串中包含特殊字符怎么办?
LINUX使用sed,字串中包含特殊字符怎么办?
151 0
|
Linux Shell Perl
|
Linux Shell 关系型数据库
|
Linux Shell 开发工具
|
Shell Linux 机器学习/深度学习