標籤:
替換:如果運算式中含有特殊字元,shell會進行替換。例如在雙引號中使用變數就是一種替換。逸出字元也是一種替換
#!/bin/basha=10echo -e "Value of a is ${a} \n"
#-e表示對逸出字元替換,不加的話輸出如下#
echo "Value of a is ${a} \n"
逸出字元替換
下列逸出字元可用於echo
1. \\ 反斜線
2. \a 警報,響鈴 ?
3. \b 退格 (刪除鍵)?
4. \f 換頁,將當前的位置移到下頁開頭
5. \n 換行
6. \r 斷行符號
7. \t 一個縮排
8. \v 垂直定位字元 ?
樣本如下:
1 echo -e "Value of a is ${a} \\"2 echo -e "Value of a is ${a} \t ${a}"
可以使用 echo 命令的 -E 選項禁止轉義,預設也是不轉義的;使用 -n 選項可以禁止插入分行符號
命令替換
shell先執行命令,將輸出結果暫時儲存,在適當的地方輸出
文法 `command` ``是Esc下面那個
樣本如下:
1 DATE=`date`2 echo "Date is ${DATE}"3 4 USERS=`who | wc -l`5 echo "Logged in usr are $USERS"6 7 UP=`date ; uptime`8 echo "Uptime is ${UP}"
變數替換
可以根據變數的狀態(空?定義?)來改變它的值
可以使用的變數替換形式如下
1. ${var} 變數原本的值
2. ${var:-word} 如果變數var為空白或已被unset,那麼返回word,但不改變其值
3. ${var:=word} 如果變數var為空白或已被unset,那麼返回word,並將其值設為word
4. ${var:?message} 如果變數var為空白或已被unset,那麼將message送到標準錯誤輸出,可 以用來檢測變數var是否可以被正常賦值
若此替換出現在shell指令碼中,那麼指令碼將停止運行
6. ${var:+word} 如果變數var被定義,那麼返回word,但不改變其值
樣本如下:
1 echo ${var:-"Variable is not set"} 2 echo " 1-Value of var is ${var} " 3 4 unset var 5 echo ${var:+"This is default value"} 6 echo "3-Value of var is ${var}" 7 8 echo ${var:="Variable is not set"} 9 echo " 2-Value of var is ${var} "10 11 var="ChenMo"12 echo ${var:?"Print this message"} #把ChenMo輸出終端#13 echo "4-Value of var is ${var}"14 15 var="Matto"16 echo ${var:+"This is default valus"}17 echo "Value of var is ${var}"
Linux Gvim shell 替換:變數替換,命令替換,逸出字元