區別:單引號屬于強引用,它會忽略所有被引起來的字符的特殊處理,被引用起來的字符會被原封不動的使用;而雙引號屬于弱引用,它會對一些被引起來的字符進行特殊處理。簡單來說,單引號直接輸出內部字符串,不解析特殊字符;雙引號內則會解析特殊字符。
本教程操作環境:centos 6系統、Dell G3電腦。
1、單引號
單引號屬于強引用,它會忽略所有被引起來的字符的特殊處理,被引用起來的字符會被原封不動的使用,唯一需要注意的點是不允許引用自身;
單引號將其中的內容都作為了字符串來,忽略所有的命令和特殊字符,類似于一個字符串的用法
echo?'This?is?a?string' >>>?This?is?a?string echo?'ls?./' >>>?ls?./
2、雙引號
雙引號屬于弱引用,它會對一些被引起來的字符進行特殊處理。
雙引號與單引號的區別在于其可以包含特殊字符(單引號直接輸出內部字符串,不解析特殊字符;雙引號內則會解析特殊字符),包括’, “, $, ,如果要忽略特殊字符,就可以利用來轉義,忽略特殊字符,作為普通字符輸出:
var?=?1 echo?'$var' >>>?$var echo?"$var" >>>?1 echo?"Here?'this?is?a?string'?is?a?string" >>>?Here?'this?is?a?string'?is?a?string echo?"Here?"this?is?a?string"?is?a?string" >>>?Here?"this?is?a?string"?is?a?string
3、反引號
反引號用來包含一個命令字符串的,其中的命令會先執行,得到的結果會返回到層命令再執行:
echo?`echo?'this?is?the?inner?string'`+'out'? >>>?this?is?the?inner?string+out echo?`echo?'this?is?the?inner?`?string'`+'out'????#轉義反引號 >>>?this?is?the?inner?`?string+out
反引號類似與$(command)類似。
#一個使用例子,如果想要遍歷當前文件夾及其一級子文件夾: ls?$(ls)? ls?`ls` >>>?first_folder >sub_1?..sub_2 >?second_folder >sub_1?..sub_2 >
相關推薦:《Linux視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦