Shell轉義字元與變數替換

智慧先行者發表於2016-12-11
轉義字元含義
\\ 反斜槓
\a 警報,響鈴
\b 退格(刪除鍵)
\f 換頁(FF),將當前位置移到下頁開頭
\n 換行
\r 回車
\t 水平製表符(tab鍵) 
\v 垂直製表符

 

vim test4.sh

#!/bin/bash
v1="Spark"
v2="Scala"
echo -e "First is $v1; \nSecond is $v2;" # -e 表示對轉義字元進行替換。
echo "###############"
echo "First is $v1; \nSecond is $v2;" # 不使用 -e 選項,將會原樣輸出
echo "-------------"
cmd=`df | grep Filesystem;date` # 將輸出結果暫時儲存
echo "Cmd is $cmd"

  

 

$ sh test4.sh
First is Spark;
Second is Scala;
###############
First is Spark; \nSecond is Scala;
-------------
Cmd is Filesystem 1K-blocks Used Available Use% Mounted on
Sun Dec 11 21:45:59 CST 2016

 

 

 

形式說明
${var} 變數本來的值
${var:-word} 如果變數 var 為空或已被刪除(unset),那麼返回 word,但不改變 var 的值。
${var:=word} 如果變數 var 為空或已被刪除(unset),那麼返回 word,並將 var 的值設定為 word。
${var:?message} 如果變數 var 為空或已被刪除(unset),那麼將訊息 message 送到標準錯誤輸出,可以用來檢測變數 var 是否可以被正常賦值。
若此替換出現在Shell指令碼中,那麼指令碼將停止執行。
${var:+word} 如果變數 var 被定義,那麼返回 word,但不改變 var 的值。

相關文章