Linux Shell中三種引號(hào)的用法及區(qū)別
Linux Shell中有三種引號(hào),分別為雙引號(hào)(" ")、單引號(hào)(' ')以及反引號(hào)(` `)。
其中雙引號(hào)對(duì)字符串中出現(xiàn)的$、''、`和\進(jìn)行替換;單引號(hào)不進(jìn)行替換,將字符串中所有字符作為普通字符輸出,而反引號(hào)中字符串作為shell命令執(zhí)行,并返回執(zhí)行結(jié)果。具體含義如下:
雙引號(hào)(" "):在雙引號(hào)中,除了$, '', `和\以外所有的字符都解釋成字符本身。
單引號(hào)(' '):在單引號(hào)中所有的字符包括特殊字符($,'',`和\)都將解釋成字符本身而成為普通字符。
反引號(hào)(` `):在反引號(hào)中的字符串將解釋成shell命令來(lái)執(zhí)行。
舉例:
root@gyb-ubuntu:~# echo "$PATH" /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
可以看到在雙引號(hào)中,$被作為特殊字符處理,PATH被解釋為變量。
root@gyb-ubuntu:~# echo '$PATH'
$PATH
在單引號(hào)中,特殊字符也失去了特殊意義作為普通字符輸出。
root@gyb-ubuntu:~# echo ls
ls
ls是一個(gè)shell命令,直接echo ls shell會(huì)將ls作為普通字符輸出。如果我們加上反引號(hào)就不一樣了,
root@gyb-ubuntu:~# echo `ls`
99.sh cloud_curr_design cloud_curr_design.tar.gz exefile for.sh gyb_virsh httpd-2.2.31 qemu_help readfile.sh switch.sh temp temp10.sh temp1.sh temp2.sh temp3.sh temp4.sh temp5.sh temp6.sh temp7.sh temp8.sh temp9.sh te.sh test9.sh ubuntu1204Server.img ubuntu1204Server.xml
ubuntuGuest.xml ubuntu-server.img win7.img
加上反引號(hào)之后,shell將ls作為命令執(zhí)行,并將結(jié)果返回。
以上就是shell中三種引號(hào)的用法及區(qū)別,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
linux ar 命令的使用說(shuō)明和實(shí)例講解
ar命令可以用來(lái)創(chuàng)建、修改庫(kù),也可以從庫(kù)中提出單個(gè)模塊。這篇文章主要介紹了linux ar 命令的使用說(shuō)明和實(shí)例講解的相關(guān)資料,需要的朋友可以參考下2016-10-10Linux shell腳本基礎(chǔ)學(xué)習(xí)詳細(xì)介紹(完整版)
Linux shell腳本基礎(chǔ)學(xué)習(xí)我們將分幾講來(lái)慢慢細(xì)說(shuō),希望能對(duì)想學(xué)習(xí)Linux shell腳本編程的初學(xué)者有一個(gè)明確的幫助,水平得到提高2013-07-07Linux 進(jìn)程替換(exec函數(shù))實(shí)現(xiàn)代碼
這篇文章主要介紹了Linux 進(jìn)程替換(exec函數(shù))實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05