在Linux操作系統(tǒng)上編寫Shell腳本時(shí)候,我們是在變量的前面使用$符號(hào)來(lái)獲取該變量的值,通常在腳本中使用”$param”這種帶雙引號(hào)的格式,但也有出現(xiàn)使用'$param'這種帶引號(hào)的使用的場(chǎng)景,首先大家看一段例子:
復(fù)制代碼 代碼如下:
[root@linux ~]# name=TekTea
[root@linux ~]# echo $name
TekTea
[root@linux ~]# sayhello=”Hello $name”
[root@linux ~]# echo $sayhello
Hello TekTea
[root@linux ~]# sayhello='Hello $name'
[root@linux ~]# echo $sayhello
Hello $name
發(fā)現(xiàn)了嗎?沒錯(cuò)!使用了單引號(hào)的時(shí)候,那 $name將失去原有的變量?jī)?nèi)容,僅為一般字符的顯示型態(tài)而已!這里必需要特別小心在意!
所以,單引號(hào)與雙引號(hào)的最大不同在于雙引號(hào)仍然可以保有變量的內(nèi)容,但單引號(hào)內(nèi)僅能是一般字符,而不會(huì)有特殊符號(hào),我們也可以這里理解:'$sayhello' 與 “\$sayhello”是相同的。
在Shell腳本開發(fā)過(guò)程中,針對(duì)變量的單引號(hào)(‘)和雙引號(hào)(“)都是有應(yīng)用場(chǎng)景的,根據(jù)我的經(jīng)驗(yàn)總結(jié)起來(lái)就是:
1. 獲取變量值的時(shí)候就使用雙引號(hào)(“),這是基本用法。
2. 如果是在腳本中要編寫一個(gè)新的腳本,同時(shí)這個(gè)新的腳本中還需要包含變量,你就可以選擇使用單引號(hào)(‘)了,特別是生成一個(gè)臨時(shí)的expect腳本時(shí),單引號(hào)(‘)就會(huì)經(jīng)常使用到的。
您可能感興趣的文章:- 每天一個(gè)Linux命令之shell單引號(hào)和雙引號(hào)的經(jīng)典解釋
- PowerShell中字符串使用單引號(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ū)別
- Shell雙引號(hào)和單引號(hào)有哪些不同