Shell替換

如果表達(dá)式中包含特殊字符,Shell 將會(huì)進(jìn)行替換。例如,在雙引號(hào)中使用變量就是一種替換,轉(zhuǎn)義字符也是一種替換。

舉個(gè)例子:

運(yùn)行結(jié)果:

這里 -e 表示對(duì)轉(zhuǎn)義字符進(jìn)行替換。如果不使用 -e 選項(xiàng),將會(huì)原樣輸出

下面的轉(zhuǎn)義字符都可以用在 echo 中:

轉(zhuǎn)義字符含義

? ? \\反斜杠

? ? \a警報(bào),響鈴

? ? \b退格(刪除鍵)

? ? \f換頁(FF),將當(dāng)前位置移到下頁開頭

? ? \n換行

? ? \r回車

? ? \t水平制表符(tab鍵)

? ? \v垂直制表符

可以使用 echo 命令的 -E 選項(xiàng)禁止轉(zhuǎn)義,默認(rèn)也是不轉(zhuǎn)義的;使用 -n 選項(xiàng)可以禁止插入換行符。

命令替換

命令替換是指Shell可以先執(zhí)行命令,將輸出結(jié)果暫時(shí)保存,在適當(dāng)?shù)牡胤捷敵觥?/p>

命令替換的語法:

`command`

注意是反引號(hào),不是單引號(hào),這個(gè)鍵位于 Esc 鍵下方,Tab鍵的上方。

下面的例子中,將命令執(zhí)行結(jié)果保存在變量中:

運(yùn)行結(jié)果:

變量替換

變量替換可以根據(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)錯(cuò)誤輸出,可以用來檢測(cè)變量 var 是否可以被正常賦值。

若此替換出現(xiàn)在Shell腳本中,那么腳本將停止運(yùn)行。

${var:+word}如果變量 var 被定義,那么返回 word,但不改變 var 的值。

請(qǐng)看下面的例子:

運(yùn)行結(jié)果:

參考資料

Shell替換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一,shell題記 不懂shell的程序員不是好程序員,學(xué)習(xí)shell是為了自動(dòng)化,使用自動(dòng)化可以非常有效的提高工...
    架構(gòu)師小秘圈閱讀 8,780評(píng)論 3 70
  • 基礎(chǔ)命令 主要的命令和快捷鍵 Linux系統(tǒng)命令由三部分組成:cmd + [options]+[operation...
    485b1aca799e閱讀 1,212評(píng)論 0 0
  • Bash內(nèi)置基本變量 PWD : 顯示當(dāng)前的工作目錄 OLDPWD : 顯示上一次的工作目錄 ~:用戶家目錄 - ...
    魏鎮(zhèn)坪閱讀 1,661評(píng)論 0 6
  • 轉(zhuǎn)義 轉(zhuǎn)義也是一種替換 運(yùn)行結(jié)果 -e表示對(duì)轉(zhuǎn)義符進(jìn)行替換,如果不用-e,將會(huì)原樣輸出 可以使用 echo 命令的...
    渝潼不肖生閱讀 484評(píng)論 0 0
  • 第 3 章目錄: 3.1 shell 語法3.2 shell 命令3.3 shell 函數(shù)3.4 shell 參數(shù)...
    C86guli閱讀 6,603評(píng)論 2 4

友情鏈接更多精彩內(nèi)容