常用的转义字符

Shell解释器为了能够更好的理解您想表达的意思,还提供了特别丰富的转义符号来帮助程序员处理输入的特殊数据,常见的转义字符包括有:反斜杠()的作用就是转义后面的一个字符变为单纯的字符串,单引号('')则是转义其中所有的字符为单纯的字符串,而双引号("")是保留其中的变量属性不转义,反引号(``)则是把其中的命令执行后返回一个结果。

例如咱们先定义一个名称为PRICE的变量并赋值为5,然后通过双引号括起来输出字符串与变量结合的结果:

[root@linuxprobe ~]# PRICE=5
[root@linuxprobe ~]# echo "Price is $PRICE"
Price is 5
[root@linuxprobe ~]# echo "Price is $$PRICE"
Price is 3767PRICE

原本刚刚是希望能够进一步输出“Price is $5”即价格是五美元的字符串信息,但碰巧美元符号与变量提取符号冲突了,因此输出的并不是预想的信息。需要用转义符把第一个$符号转换成单纯的字符串,再或者把整段都转义成单纯的字符串吧(当然这个只是让您看下效果,并不符合实验需要):

[root@linuxprobe ~]# echo "Price is $$PRICE"
Price is $5
[root@linuxprobe ~]# echo 'Price is $$PRICE'
Price is $$PRICE

好啦,咱们对转义符学习的非常顺利,但最后一个您可能看到结果时会觉得很无用,因此暂且先不用管具体的使用场景,就当作是提前为第4章的SHELL编程知识学习做一点小小的铺垫吧。如果只需要某个命令的返回输出值时,就可以用像`命令`这样用反引号括起来的命令格式来达到效果,例如通过反引号与uname -a命令结合通过返回值来查看下本机版本和内核信息吧:

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

[root@fyc ~]# echo "uname -a"
uname -a




原文地址:https://www.cnblogs.com/fyc119/p/6964686.html