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