linux-shell-命令替換和變量替換

linux-shell-命令替換和變量替換

命令替換$() “

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)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊5 分享