Linux shell 單引號和雙引號

2022-09-04 16:51:10 字數 1030 閱讀 3923

在編寫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...