linux转义符有:1、反斜杠“\”,将“\”放到特殊字符前,就会忽略特殊字符的原有含义;2、单引号“'”,被单引号包裹字符串中的字符特殊含义会被忽略;3、双引号“”,双引号会保留部分的字符属性不进行转义。
本教程操作环境:linux7.3系统、dell g3电脑。
linux转义符有哪些(1)转义字符“\”
如果将“\”放到特殊字符前面,shell就忽略这些特殊字符的原有含义,
把它们当作普通字符对待,例如:
[root@webserver ~]#lsabc?* c:\backup[root@webserver ~]#mv abc\?\* abc[root@webserver ~]#mv c\:\\backup backup
上⾯是将abc?*重命名为abc,将c:\backup重命名为backup。因为⽂件
名中包含特殊字符,所以都使⽤了转义字符“\”。
(2)单引号“ ' ”
如果将字符串放到⼀对单引号之间,那么字符串中所有字符的特殊含义将被忽略,例如:
[root@webserver ~]#mv c\:\\backup backup[root@webserver ~]#mv 'c:\backup' backup
上面两条命令完全等效
(3)双引号“""”
双引号的引用与单引号基本相同,包含在双引号内的大部分特殊字符
可以当作普通字符处理,但是仍有一些特殊字符即使⽤双引号括起来,也
仍然保留自己的特殊含义,比如“$”、“\”和“`”。
[root@webserver ~]#str="the \$shell current shell is $shell"[root@webserver ~]#str1="\$$shell"[root@webserver ~]#echo $strthe $shell current shell is /bin/bash[root@webserver ~]#echo $str1$/bin/bash
从上面的输出可以看出,“$”和“\”在双引号内仍然保留了特殊含义。
[root@webserver ~]# str="this hostname is `hostname`"[root@webserver ~]# echo $strthis hostname is webserver
上面的输出中,字符“`”在双引号中也保留了自己的特殊含义。
相关推荐:《linux视频教程》
以上就是linux转义符有哪些的详细内容。