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