W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
為了能夠更好地理解用戶(hù)的表達(dá),Shell解釋器還提供了特別豐富的轉(zhuǎn)義字符來(lái)處理輸入的特殊數(shù)據(jù)。劉遄老師以近十年的工作和培訓(xùn)為基礎(chǔ),愣是用了兩周時(shí)間從數(shù)十個(gè)轉(zhuǎn)義字符中提煉出了4個(gè)最常用的轉(zhuǎn)義字符!這件事情也讓我深刻反省了很長(zhǎng)時(shí)間。原本認(rèn)為圖書(shū)寫(xiě)的越厚,作者越是大牛,現(xiàn)在發(fā)現(xiàn)這種觀(guān)念完全是錯(cuò)誤的,希望讀者在讀完本書(shū)后能體會(huì)到劉遄老師的用心付出。
4個(gè)最常用的轉(zhuǎn)義字符如下所示。
反斜杠(\):使反斜杠后面的一個(gè)變量變?yōu)閱渭兊淖址?
單引號(hào)(''):轉(zhuǎn)義其中所有的變量為單純的字符串。
雙引號(hào)(""):保留其中的變量屬性,不進(jìn)行轉(zhuǎn)義處理。
反引號(hào)(``):把其中的命令執(zhí)行后返回結(jié)果。
我們先定義一個(gè)名為PRICE的變量并賦值為5,然后輸出以雙引號(hào)括起來(lái)的字符串與變量信息:
[root@linuxprobe ~]# PRICE=5
[root@linuxprobe ~]# echo "Price is $PRICE"
Price is 5
接下來(lái),我們希望能夠輸出“Price is $5”,即價(jià)格是5美元的字符串內(nèi)容,但碰巧美元符號(hào)與變量提取符號(hào)合并后的$$作用是顯示當(dāng)前程序的進(jìn)程ID號(hào)碼,于是命令執(zhí)行后輸出的內(nèi)容并不是我們所預(yù)期的:
[root@linuxprobe ~]# echo "Price is $$PRICE"
Price is 3767PRICE
要想讓第一個(gè)“$”乖乖地作為美元符號(hào),那么就需要使用反斜杠(\)來(lái)進(jìn)行轉(zhuǎn)義,將這個(gè)命令提取符轉(zhuǎn)義成單純的文本,去除其特殊功能。
[root@linuxprobe ~]# echo "Price is \$$PRICE"
Price is $5
而如果只需要某個(gè)命令的輸出值時(shí),可以像命令
這樣,將命令用反引號(hào)括起來(lái),達(dá)到預(yù)期的效果。例如,將反引號(hào)與uname -a命令結(jié)合,然后使用echo命令來(lái)查看本機(jī)的Linux版本和內(nèi)核信息:
[root@linuxprobe ~]# echo `uname -a`
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: