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