在編寫shell指令碼的時候經常會用到引號,有些時候卻老是忘記單引號和雙引號之間的區別,所以就整理一下供以後腦子不好使了的時候前來複習一下。首先說下他們的共同點: 好像就只有乙個,就是它們都可以用來界定乙個字串,這個沒什麼好解釋的,真正需要記住的是它們區別,所以經過整理後,它們的區別主要包括:
1)、單引號屬於強引用,它會忽略所有被引起來的字元的特殊處理,被引用起來的字元會被原封不動的使用,唯一需要注意的點是不允許引用自身;
2)、雙引號屬於弱引用,它會對一些被引起來的字元進行特殊處理,主要包括以下情況:
1:$加變數名可以取變數的值 ,比如:
[root@localhost ~]# echo '$pwd
'$pwd
[root@localhost ~]# echo "
$pwd
" /root
2:反引號和$()引起來的字元會被當做命令執行後替換原來的字元,比如:
[root@localhost ~]# echo '$(echo hello world)
'$(echo hello world)
[root@localhost ~]# echo "
$(echo hello world)
"hello world
[root@localhost ~]# echo '
`echo hello world`
'`echo hello world`
[root@localhost ~]# echo "
`echo hello world`
"hello world
3:當需要使用字元($ ` " \)時必須進行轉義,也就是在前面加\ ;
[root@localhost ~]# echo '$ ` " \'
$ ` "
\[root@localhost ~]# echo "
\$ \` \" \\
"$ `
"\
Linux Shell 中的反引號,單引號,雙引號
反引號位 位於鍵盤的tab鍵的上方 1鍵的左方。注意與單引號 位於enter鍵的左方的區別。在linux中起著命令替換的作用。命令替換是指shell能夠將乙個命令的標準輸出插在乙個命令列中任何位置。如下,shell會執行反引號中的date命令,把結果插入到echo命令顯示的內容中。root loca...
Linux Shell 中的反引號,單引號,雙引號
反引號位 位於鍵盤的tab鍵的上方 1鍵的左方。注意與單引號 位於enter鍵的左方的區別。在linux中起著命令替換的作用。命令替換是指shell能夠將乙個命令的標準輸出插在乙個命令列中任何位置。如下,shell會執行反引號中的date命令,把結果插入到echo命令顯示的內容中。root loca...
Linux Shell 中的反引號,單引號,雙引號
反引號位 位於鍵盤的tab鍵的上方 1鍵的左方。注意與單引號 位於enter鍵的左方的區別。反引號在linux中起著命令替換的作用。命令替換是指shell能夠將乙個命令的標準輸出插在乙個命令列中任何位置。root localhost sh echo the date is date root loc...