命令替換$() ``Shell 命令替換是指將命令的輸出結(jié)果賦值給某個變量
Shell 中有兩種方式可以完成命令替換,一種是反引號 ,一種是$(),使用方法如下:
variable=`commands`variable=$(commands)
其中,variable 是變量名,commands 是要執(zhí)行的命令。commands 可以只有一個命令,也可以有多個命令,多個命令之間以分號;分隔。
a=`expr 1 + 1`echo $a$( )與``區(qū)別
在操作上,這兩者都是達到相應(yīng)的效果,但是建議使用$( ),理由如下:1.``很容易''搞混亂,尤其對初學(xué)者來說。2.在多層次的復(fù)合替換中,``必須要額外的轉(zhuǎn)義字符處理(反斜線),而$( )比較直觀。3.$( )的弊端是,并不是所有的類unix系統(tǒng)都支持這種方式,但反引號是肯定支持的。變量替換 ${}
變量替換變量替換可以根據(jù)變量的狀態(tài)(是否為空、是否定義等)來改變它的值可以使用的變量替換形式:形式 說明${var} 變量本來的值${var:-word} 如果變量 var 為空或已被刪除(unset),那么返回 word,但不改變 var 的值。${var:=word} 如果變量 var 為空或已被刪除(unset),那么返回 word,并將 var 的值設(shè)置為 word。${var:?message} 如果變量 var 為空或已被刪除(unset),那么將消息 message 送到標(biāo)準(zhǔn)錯誤輸出,可以用來檢測變量 var 是否可以被正常賦值。若此替換出現(xiàn)在Shell腳本中,那么腳本將停止運行。${var:+word} 如果變量 var 被定義,那么返回 word,但不改變 var 的值。更多Linux相關(guān)技術(shù)文章,請訪問Linux教程欄目進行學(xué)習(xí)!
以上就是linux-shell-命令替換和變量替換的詳細(xì)內(nèi)容,更多請關(guān)注 其它相關(guān)文章!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。
新聞熱點
疑難解答
圖片精選