您好,登錄后才能下訂單哦!
Shell中雙引號和單引號有什么區別?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1.示例
Shell在使用的過程中,經常會使雙引號或者單引號將字符串括起來,也可以不使用引號來定義字符串變量。示例如下:
str1="testString" //雙引號 str2='testString' //單引號 str3=testString //無引號
因此字符串變量的定義有三種方式,分別是雙引號、單引號和無引號。這三種方式有什么區別呢?單引號和雙引號又有什么區別呢?
2.單引號
單引號定義字符串所見即所得,即將單引號內的內容原樣輸出,或者描述為單引號里面看到的是什么就會輸出什么。單引號是全引用,被單引號括起的內容不管是常量還是變量都不會發生替換。
var=dablelv echo '$var'
輸出:
$var
3.雙引號
雙引號引用的內容,所見非所得。如果內容中有命令、變量等,會先把變量、命令解析出結果,然后在輸出最終內容。雙引號是部分引用,被雙引號括起的內容常量還是常量,變量則會發生替換,替換成變量內容。
var=dablelv echo '$var'
輸出:
dablelv
4.無引號
不使用引號定義字符串時,字符串不能包含空白字符(如Space或Tab),需要該加引號,一般連續的字符串,數字,路徑等可以不加引號。如果內容中有命令、變量等,會先把變量、命令解析出結果,然后在輸出最終內容。
str1="test String" str2='test String' str3=test String echo $str1 echo $str2 echo $str3
輸出:
test String
test String
可見,字符串中包含有空格時不實用引號括起來,將無法正常輸出。
5.建議
字符串常量使用單引號括起來,如果字符串中含有變量、命令等使用雙引號括起來,不建議不加引號。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。