linux轉(zhuǎn)義符有哪些
(1)轉(zhuǎn)義字符“”
如果將“”放到特殊字符前面,shell就忽略這些特殊字符的原有含義,
把它們當(dāng)作普通字符對待,例如:
[root@WEBServer ~]#ls
abc?* C:backup
[root@WEBServer ~]#mv abc?* abc
[root@WEBServer ~]#mv C:\backup backup
上?是將abc?*重命名為abc,將C:backup重命名為backup。因?yàn)?件
名中包含特殊字符,所以都使?了轉(zhuǎn)義字符“”。
(2)單引號“ ' ”
如果將字符串放到?對單引號之間,那么字符串中所有字符的特殊含義將被忽略,例如:
[root@WEBServer ~]#mv C:\backup backup
[root@WEBServer ~]#mv 'C:backup' backup
上面兩條命令完全等效
(3)雙引號“""”
雙引號的引用與單引號基本相同,包含在雙引號內(nèi)的大部分特殊字符
可以當(dāng)作普通字符處理,但是仍有一些特殊字符即使?雙引號括起來,也
仍然保留自己的特殊含義,比如“$”、“”和“`”。
[root@WEBServer ~]#str="The $SHELL Current shell is $SHELL"
[root@WEBServer ~]#str1="$$SHELL"
[root@WEBServer ~]#echo $str
The $SHELL Current shell is /bin/bash
[root@WEBServer ~]#echo $str1
$/bin/bash
從上面的輸出可以看出,“$”和“”在雙引號內(nèi)仍然保留了特殊含義。
[root@WEBServer ~]# str="This hostname is `hostname`"
[root@WEBServer ~]# echo $str
This hostname is WEBServer
上面的輸出中,字符“`”在雙引號中也保留了自己的特殊含義。