1.示例
Shell在使用的過(guò)程中,經(jīng)常會(huì)使雙引號(hào)或者單引號(hào)將字符串括起來(lái),也可以不使用引號(hào)來(lái)定義字符串變量。示例如下:
str1="testString" //雙引號(hào)
str2='testString' //單引號(hào)
str3=testString //無(wú)引號(hào)
因此字符串變量的定義有三種方式,分別是雙引號(hào)、單引號(hào)和無(wú)引號(hào)。這三種方式有什么區(qū)別呢?單引號(hào)和雙引號(hào)又有什么區(qū)別呢?
2.單引號(hào)
單引號(hào)定義字符串所見(jiàn)即所得,即將單引號(hào)內(nèi)的內(nèi)容原樣輸出,或者描述為單引號(hào)里面看到的是什么就會(huì)輸出什么。單引號(hào)是全引用,被單引號(hào)括起的內(nèi)容不管是常量還是變量都不會(huì)發(fā)生替換。
輸出:
$var
3.雙引號(hào)
雙引號(hào)引用的內(nèi)容,所見(jiàn)非所得。如果內(nèi)容中有命令、變量等,會(huì)先把變量、命令解析出結(jié)果,然后在輸出最終內(nèi)容。雙引號(hào)是部分引用,被雙引號(hào)括起的內(nèi)容常量還是常量,變量則會(huì)發(fā)生替換,替換成變量?jī)?nèi)容。
輸出:
dablelv
4.無(wú)引號(hào)
不使用引號(hào)定義字符串時(shí),字符串不能包含空白字符(如Space或Tab),需要該加引號(hào),一般連續(xù)的字符串,數(shù)字,路徑等可以不加引號(hào)。如果內(nèi)容中有命令、變量等,會(huì)先把變量、命令解析出結(jié)果,然后在輸出最終內(nèi)容。
str1="test String"
str2='test String'
str3=test String
echo $str1
echo $str2
echo $str3
輸出:
test String
test String
可見(jiàn),字符串中包含有空格時(shí)不實(shí)用引號(hào)括起來(lái),將無(wú)法正常輸出。
5.建議
字符串常量使用單引號(hào)括起來(lái),如果字符串中含有變量、命令等使用雙引號(hào)括起來(lái),不建議不加引號(hào)。
以上就是Shell雙引號(hào)和單引號(hào)有哪些不同的詳細(xì)內(nèi)容,更多關(guān)于Shell雙引號(hào)和單引號(hào)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- 每天一個(gè)Linux命令之shell單引號(hào)和雙引號(hào)的經(jīng)典解釋
- PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別
- Shell腳本字符串單引號(hào)和雙引號(hào)的區(qū)別淺析
- Shell腳本中單引號(hào)(‘)和雙引號(hào)(“)的使用區(qū)別
- linux shell中單引號(hào)、雙引號(hào)、反引號(hào)、反斜杠的區(qū)別
- shell編程基礎(chǔ) 單引號(hào)和雙引號(hào)的區(qū)別