溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些

發(fā)布時(shí)間:2021-08-26 09:49:56 來(lái)源:億速云 閱讀:119 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Part 1 : ` command `

這是 “命令標(biāo)準(zhǔn)輸出作為函數(shù)標(biāo)準(zhǔn)輸入” 操作方法之一,有很大的弊端以及不安全的地方。

缺點(diǎn)一:比較陳舊。

缺點(diǎn)二:容易與單引號(hào)混淆。(其實(shí)它是你鍵盤“!”左邊那個(gè)鍵)

Part 1.5 ` command``與 $(command) 倆者區(qū)別

直接看幾張圖吧,看這圖解釋他們區(qū)別...

Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些

大家可以看到倆種表達(dá)方式,分別是代表命令直接執(zhí)行和嵌套執(zhí)行。

我們發(fā)現(xiàn):執(zhí)行`` $() 是相同的。

Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些

附,其實(shí)這里有個(gè)小bug...( 橙色框框 ):即你怎么知道嵌套執(zhí)行計(jì)算機(jī)是真的鑲嵌執(zhí)行的呢?

所以我又截圖一張...可以看到直接執(zhí)行的情況下計(jì)算機(jī)確實(shí)是按照從左到右這樣執(zhí)行的。

所以得出證明,嵌套執(zhí)行計(jì)算機(jī)是真的鑲嵌執(zhí)行,我們操作是確實(shí)有效的!

他們支持多層嵌套,對(duì)運(yùn)維工作有不可言語(yǔ)的巨大作用。

Part 2 : $(command)

這是 “命令標(biāo)準(zhǔn)輸出作為函數(shù)標(biāo)準(zhǔn)輸入” 操作方法之二,使用這種方法的人也最多!

這種方法的優(yōu)點(diǎn)是:以$(command)形式可以互相嵌套多個(gè)命令擴(kuò)展。

Part 3 : ${command}

Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些

那具體是什么意思呢?簡(jiǎn)而言之,將變量函數(shù)$()進(jìn)行替換以\${}輸出

Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些

嗯...意思是到了但是還不正確。。但是我們現(xiàn)在知道倆點(diǎn)關(guān)于${}

第一點(diǎn):$() 是用來(lái)運(yùn)行命令的,不是用來(lái)運(yùn)行替換變量的。簡(jiǎn)而言之,\$()就是用來(lái)執(zhí)行命令,其他干不了

第二點(diǎn):${} 是用來(lái)替換變量的。但是它不能給你執(zhí)行變量替換,僅僅能幫\$()信息讀出來(lái)。

第三點(diǎn):echo ${#name} 可以統(tǒng)計(jì)替換變量長(zhǎng)度單位。

Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些

結(jié)論:$()用來(lái)執(zhí)行;\${}用來(lái)變量替換,但不能執(zhí)行。

Part 4 : $(){command}

關(guān)于這點(diǎn),這里就不細(xì)說(shuō)了。

Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些

結(jié)論:$(){command}定義了個(gè)方法名叫\(zhòng)$,這個(gè)方法執(zhí)行了command命令

最后結(jié)文:

` command``$(command) 倆者無(wú)區(qū)別,都是執(zhí)行命令?!懊顦?biāo)準(zhǔn)輸出作為函數(shù)標(biāo)準(zhǔn)輸入”

\${command} $(){command} 倆者類似。前者用來(lái)讀取變量替換內(nèi)容,但不能執(zhí)行。

唔...加一點(diǎn)話。群里的朋友給我提供了一份RHCE的官方手冊(cè),上面對(duì)“命令標(biāo)準(zhǔn)輸出作為函數(shù)標(biāo)準(zhǔn)輸入”有一個(gè)簡(jiǎn)單的解釋,即:命令替換。

命令替換允許命令的輸出替換命令本身。當(dāng)命令包含前導(dǎo)美元符號(hào)和括號(hào)$(command)或者反引號(hào) command時(shí),就會(huì)發(fā)生命令替換。

關(guān)于“Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI