轉(zhuǎn)義
轉(zhuǎn)義也是一種替換
#脚乡!/bin/bash
echo -e "Hi!\nMy name is lun!"
運(yùn)行結(jié)果
Hi!
My name is lun!
-e表示對轉(zhuǎn)義符進(jìn)行替換,如果不用-e靠欢,將會原樣輸出
Hi!\nMy name is lun!
轉(zhuǎn)義字符 | 含義 |
---|---|
\ | 反斜杠 |
\a | 警報放妈,響鈴 |
\b | 退格(刪除鍵) |
\f | 換頁(FF),將當(dāng)前位置移到下頁開頭 |
\n | 換行 |
\r | 回車 |
\t | 水平制表符(tab鍵) |
\v | 垂直制表符 |
可以使用 echo 命令的 -E 選項禁止轉(zhuǎn)義眼滤,默認(rèn)也是不轉(zhuǎn)義的巴席;使用 -n 選項可以禁止插入換行符。
命令替換
命令替換是指Shell可以先執(zhí)行命令诅需,將輸出結(jié)果暫時保存漾唉,在適當(dāng)?shù)牡胤捷敵觥?/p>
DATE=`date`
echo ${DATE}
運(yùn)行結(jié)果
Tue Oct 4 17:57:50 CST 2016
這里的`date`用的是反引號,不是單引號
變量替換
變量替換可以根據(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)錯誤輸出邀桑, 可以用來檢測變量 var是否可以被正常賦值。 若此替換出現(xiàn)在Shell腳本中科乎,那么腳本將停止運(yùn)行壁畸。 |
${var:+word} | 如果變量 var 被定義,那么返回 word茅茂,但不改變 var 的值捏萍。 |
例子:
num=20
unset num
echo ${num:-"hehe"}
運(yùn)行結(jié)果
hehe