Shell雙引號和單引號有哪些不同
1.示例
Shell在使用的過程中,經(jīng)常會使雙引號或者單引號將字符串括起來,也可以不使用引號來定義字符串變量。示例如下:
str1="testString" //雙引號 str2='testString' //單引號 str3=testString //無引號
因此字符串變量的定義有三種方式,分別是雙引號、單引號和無引號。這三種方式有什么區(qū)別呢?單引號和雙引號又有什么區(qū)別呢?
2.單引號
單引號定義字符串所見即所得,即將單引號內(nèi)的內(nèi)容原樣輸出,或者描述為單引號里面看到的是什么就會輸出什么。單引號是全引用,被單引號括起的內(nèi)容不管是常量還是變量都不會發(fā)生替換。
var=dablelv echo '$var'
輸出:
$var
3.雙引號
雙引號引用的內(nèi)容,所見非所得。如果內(nèi)容中有命令、變量等,會先把變量、命令解析出結(jié)果,然后在輸出最終內(nèi)容。雙引號是部分引用,被雙引號括起的內(nèi)容常量還是常量,變量則會發(fā)生替換,替換成變量內(nèi)容。
var=dablelv echo '$var'
輸出:
dablelv
4.無引號
不使用引號定義字符串時,字符串不能包含空白字符(如Space或Tab),需要該加引號,一般連續(xù)的字符串,數(shù)字,路徑等可以不加引號。如果內(nèi)容中有命令、變量等,會先把變量、命令解析出結(jié)果,然后在輸出最終內(nèi)容。
str1="test String" str2='test String' str3=test String echo $str1 echo $str2 echo $str3
輸出:
test String
test String
可見,字符串中包含有空格時不實用引號括起來,將無法正常輸出。
5.建議
字符串常量使用單引號括起來,如果字符串中含有變量、命令等使用雙引號括起來,不建議不加引號。
以上就是Shell雙引號和單引號有哪些不同的詳細(xì)內(nèi)容,更多關(guān)于Shell雙引號和單引號的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
linux shell數(shù)據(jù)重定向(輸入重定向與輸出重定向)詳細(xì)分析
這篇文章主要介紹了linux shell數(shù)據(jù)重定向(輸入重定向與輸出重定向)詳細(xì)分析,需要的朋友可以參考下2015-10-10
一個簡潔的全自動安裝LNMP服務(wù)器環(huán)境的Shell腳本分享
這篇文章主要介紹了一個簡潔的全自動安裝LNMP服務(wù)器環(huán)境的Shell腳本分享,本文腳本在生產(chǎn)環(huán)境上使用了一年多,腳本代碼簡單唯美,需要的朋友可以參考下2014-12-12
學(xué)習(xí)Linux網(wǎng)絡(luò)編程基本函數(shù)
這篇文章主要介紹了學(xué)習(xí)Linux網(wǎng)絡(luò)編程,網(wǎng)絡(luò)編程的一些基本函數(shù):也是實現(xiàn)tcp協(xié)議通訊的基本步驟,實現(xiàn)代碼在最后,IP需要修改為自己的IP,即可通信2021-08-08

