国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Linux Shell > 正文

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

2020-07-27 19:00:42
字體:
供稿:網(wǎng)友

Part 1 : ` command `

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

缺點一:比較陳舊。

缺點二:容易與單引號混淆。(其實它是你鍵盤“!”左邊那個鍵)

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

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

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

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

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

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

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

他們支持多層嵌套,對運維工作有不可言語的巨大作用。

Part 2 : $(command)

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

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

Part 3 : ${command}

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

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

第一點:$() 是用來運行命令的,不是用來運行替換變量的。簡而言之,/$()就是用來執(zhí)行命令,其他干不了

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

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

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

Part 4 : $(){command}

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

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

最后結(jié)文:

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

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

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

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 青龙| 化州市| 潮安县| 梅河口市| 南昌市| 子长县| 建平县| 达州市| 修文县| 梅河口市| 资兴市| 乳源| 霍州市| 固原市| 贵溪市| 平乐县| 西乡县| 富民县| 大埔县| 双峰县| 外汇| 防城港市| 磴口县| 高州市| 云龙县| 凉城县| 龙里县| 工布江达县| 克山县| 威远县| 丰宁| 玉田县| 宿州市| 上饶市| 紫金县| 赣榆县| 壤塘县| 凉山| 佛坪县| 塔城市| 尉氏县|