Linux轉義字符


(1)轉義字符“\”

如果將“\”放到特殊字符前面,shell就忽略這些特殊字符的原有含義,
把它們當作普通字符對待,例如:

[root@WEBServer ~]#ls
abc?* 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 $str
The $SHELL Current shell is /bin/bash
[root@WEBServer ~]#echo $str1
$/bin/bash
從上面的輸出可以看出,“$”和“\”在雙引號內仍然保留了特殊含義。

[root@WEBServer ~]# str="This hostname is `hostname`"
[root@WEBServer ~]# echo $str
This hostname is WEBServer

上面的輸出中,字符“`”在雙引號中也保留了自己的特殊含義。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM