自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux中引號的那些事兒

系統(tǒng) Linux
我們將把編寫腳本的事情暫時擱在一邊,然后來討論一些,我們一直在用的,但是沒有解釋的東西。引號在這一節(jié)里面,我們會講述引號。

我們將把編寫腳本的事情暫時擱在一邊,然后來討論一些,我們一直在用的,但是沒有解釋的東西。引號在這一節(jié)里面,我們會講述引號。引號有兩個作用:

  1. 控制字符替換
  2. 執(zhí)行將單詞包含在一起的功能

我們已經(jīng)使用過引號。在我們的腳本里面,將文本信息賦值給常量的賦值操作就使用了引號:

在上面這個例子中,文本信息是被雙引號包括住的。我們使用雙引號的原因是---我們要把所有單詞包括住,當(dāng)作一個整體來對待。如果我們沒有使用引號,那么bash解釋器,就會將所有位于第一個單詞后面的單詞,解釋為其他的命令(第一個單詞被解釋為命令)。

嘗試一下運(yùn)行下面的命令,看看有什么效果出來:

#p#

單引號和雙引號 

shell解釋器可以識別雙引號和單引號。 下面的復(fù)制表達(dá)式效果是等價的:

然而,在雙引號和單引號之間存在一個重要的差別。 單引號,在字符替換方面有限制。 正如我們在上一節(jié)所看到的內(nèi)容一樣,你可以將一個變量放在雙引號里面,而shell解釋器依然會對變量執(zhí)行字符替換的操作。 

我們可以通過使用echo命令來查看這種效果: 

如果我們將上述的雙引號改為單引號,那么,行為將會改變:

雙引號并沒有限制---以"$"開頭的變量的字符替換,不過,它的確對通配符的擴(kuò)展效果進(jìn)行了限制。比如,下面這個例子:

#p#

引用單個字符 

還有另外一種引用字符你會碰到的。 它就是反斜杠。The backslash tells 反斜杠告訴shell解釋器忽略反斜杠符后面的第一個字符。比如:

通過使用反斜杠符,shell解釋器忽略了對"$"符號進(jìn)行解釋。既然shell已經(jīng)忽略了"$",那么,shell解釋器也就不會對$HOSTNAME執(zhí)行字符替換了。 下面,給出一個更有用例子:

正如你所看到的,通過使用反斜杠符號,我們可以將雙引號包含在文本里面。

反斜杠的其他使用技巧

如果,你閱讀過任何軟件的使用手冊,并且這手冊是由GNU項目完成的,那么,你會發(fā)現(xiàn),在軟件的命令選項中,除了以一個下劃線_加一個字母的形式出現(xiàn)之外,還有,以兩個下劃線加一個完整的單詞的形式出現(xiàn)。例如,下面兩個語句是等價的:

為什么在軟件中,這兩種形式都是支持的呢?短的那種形式,是專門為那些懶的輸入員而設(shè)定的,而長的那種形式,是專門為寫腳本而存在的。我有時候,是混合著使用上面的兩種形式,然后,我發(fā)現(xiàn)采用長的命令選項有用,如果,我寫了一個腳本,并且,我將在幾個月后去閱讀它。看到長的命令選項,有助于我理解這個命令選項是什么意思,從而省卻我去查man手冊的功夫?,F(xiàn)在多敲幾下鍵盤,會以后節(jié)省很多功夫。 這樣,懶惰的原則就保持住了。

你有可能會疑慮,使用長的命令形式,會導(dǎo)致一個單獨(dú)的命令變得很長。 為了與這個問題斗爭,你可以使用反斜杠來讓shell解釋器忽略換行符號,正如下面的操作:

這樣使用反斜杠,可以讓我們將每行的內(nèi)容包含在一個單獨(dú)的命令中。讓這個技巧可以應(yīng)用,要注意的地方:換行,必須在反斜杠后面馬上出現(xiàn)(也就是,在輸入了反斜杠之后,就必須換行了)。 如果,你將一個空格符放置在反斜杠后面,那么,空格符號會被忽略,而不是換行符被忽略。反斜杠符,也可以被用于,將特殊的符號插入到文本。special characters into our text. 這些符號,被叫做---轉(zhuǎn)移字符,下面就有一些轉(zhuǎn)移字符:

轉(zhuǎn)義字符 .......................

名字

可能的用途

n

換行符

添加空白行在文本中

t

制表符

將水平制表符添加到文本中

a

提醒

讓你的終端發(fā)出嘟嘟聲。

\

反斜杠

插入一個反斜杠符

f

formfeed

Sending this to your printer ejects thepage

轉(zhuǎn)移字符的應(yīng)用很常見。非常常見轉(zhuǎn)移字符,這個想法,首先出現(xiàn)在C語言里面。編程語言今天,shell解釋程序,C++,perl,python,awk,tcl和其他程序語言都使用了轉(zhuǎn)移字符這個概念。通過使用echo命令的-e選項,我們將展示上述轉(zhuǎn)移字符的應(yīng)用:

責(zé)任編輯:黃丹 來源: Linux中國
相關(guān)推薦

2011-02-25 14:35:00

2017-05-15 21:50:54

Linux引號

2017-05-18 16:30:29

Linux內(nèi)存管理

2024-11-18 15:30:53

Linux目錄權(quán)限

2011-06-08 09:19:26

Android JNI

2011-02-16 09:57:41

2020-04-08 09:20:25

Linux內(nèi)存系統(tǒng)

2013-06-05 16:44:33

Linux系統(tǒng)用戶賬號管理

2020-05-20 14:25:45

Reactreact.js前端

2013-04-02 11:21:52

Linux操作系統(tǒng)虛擬主機(jī)

2023-04-11 07:34:40

分布式系統(tǒng)算法

2021-03-18 09:01:53

軟件開發(fā)軟件選型

2022-07-10 07:48:26

緩存軟件設(shè)計

2013-04-23 10:51:15

Linux壓縮

2013-03-12 17:33:17

Linux系統(tǒng)性能調(diào)優(yōu)

2018-09-26 06:50:19

2021-06-02 08:33:31

TPCTPC-H系統(tǒng)

2022-02-08 17:39:04

MySQL服務(wù)器存儲

2013-12-26 14:23:03

定位系統(tǒng)GPS監(jiān)測

2021-06-09 13:28:40

密碼安全身份認(rèn)證數(shù)據(jù)安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號