3.4 常用的轉(zhuǎn)義字符

2022-05-27 10:03 更新

為了能夠更好地理解用戶(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
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)