linux中單引號和雙引號的區別是什么

區別:單引號屬于強引用,它會忽略所有被引起來的字符的特殊處理,被引用起來的字符會被原封不動的使用;而雙引號屬于弱引用,它會對一些被引起來的字符進行特殊處理。簡單來說,單引號直接輸出內部字符串,不解析特殊字符;雙引號內則會解析特殊字符。

linux中單引號和雙引號的區別是什么

本教程操作環境: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
喜歡就支持一下吧
點贊10 分享