首頁  >  文章  >  運維  >  linux中單引號和雙引號的差別是什麼

linux中單引號和雙引號的差別是什麼

青灯夜游
青灯夜游原創
2021-11-23 10:54:0710321瀏覽

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

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影片教學

以上是linux中單引號和雙引號的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn