這篇文章將為大家詳細講解有關Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Part 1 : ` command `
這是 “命令標準輸出作為函數(shù)標準輸入” 操作方法之一,有很大的弊端以及不安全的地方。
缺點一:比較陳舊。
缺點二:容易與單引號混淆。(其實它是你鍵盤“!”左邊那個鍵)
Part 1.5 ` command``與 $(command) 倆者區(qū)別
直接看幾張圖吧,看這圖解釋他們區(qū)別...
大家可以看到倆種表達方式,分別是代表命令直接執(zhí)行和嵌套執(zhí)行。
我們發(fā)現(xiàn):執(zhí)行``
和 $()
是相同的。
附,其實這里有個小bug...( 橙色框框 ):即你怎么知道嵌套執(zhí)行計算機是真的鑲嵌執(zhí)行的呢?
所以我又截圖一張...可以看到直接執(zhí)行的情況下計算機確實是按照從左到右這樣執(zhí)行的。
所以得出證明,嵌套執(zhí)行計算機是真的鑲嵌執(zhí)行,我們操作是確實有效的!
他們支持多層嵌套,對運維工作有不可言語的巨大作用。
Part 2 : $(command)
這是 “命令標準輸出作為函數(shù)標準輸入” 操作方法之二,使用這種方法的人也最多!
這種方法的優(yōu)點是:以$(command)
形式可以互相嵌套多個命令擴展。
Part 3 : ${command}
那具體是什么意思呢?簡而言之,將變量函數(shù)$()
進行替換以\${}
輸出
嗯...意思是到了但是還不正確。。但是我們現(xiàn)在知道倆點關于${}
了
第一點:$()
是用來運行命令的,不是用來運行替換變量的。簡而言之,\$()
就是用來執(zhí)行命令,其他干不了
第二點:${}
是用來替換變量的。但是它不能給你執(zhí)行變量替換,僅僅能幫\$()
信息讀出來。
第三點:echo ${#name}
可以統(tǒng)計替換變量長度單位。
結論:$()
用來執(zhí)行;\${}
用來變量替換,但不能執(zhí)行。
Part 4 : $(){command}
關于這點,這里就不細說了。
結論:$(){command}
定義了個方法名叫\(zhòng)$,這個方法執(zhí)行了command
命令
最后結文:
` command``
與$(command)
倆者無區(qū)別,都是執(zhí)行命令。“命令標準輸出作為函數(shù)標準輸入”
\${command}
與 $(){command}
倆者類似。前者用來讀取變量替換內容,但不能執(zhí)行。
唔...加一點話。群里的朋友給我提供了一份RHCE的官方手冊,上面對“命令標準輸出作為函數(shù)標準輸入”有一個簡單的解釋,即:命令替換。
命令替換允許命令的輸出替換命令本身。當命令包含前導美元符號和括號$(command)
或者反引號command
時,就會發(fā)生命令替換。
關于“Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
新聞標題:Linux下Shell腳本中幾種基本命令的替換區(qū)別有哪些-創(chuàng)新互聯(lián)
轉載注明:http://www.rwnh.cn/article34/doshse.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、微信小程序、外貿建站、網站建設、網站策劃、外貿網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容