| 序列 | 效果 |
\a | 發出警告聲 (BEL) |
\b | 刪除前一個字元 (Backspace) |
\c | 不輸出末尾換行(等同 -n) |
\f | 換頁,游標保持原位置 |
\n | 換行並移至行首 |
\r | 游標移至行首,不換行 |
\t | 水平定位鍵 (Tab) |
\v | 垂直定位鍵 |
\\ | 輸出反斜線本身 |
\nnn | 八進位 ASCII 碼對應字元 |
進階應用:ANSI 轉義序列實現彩色與特效
格式:\e[碼m 或 \033[碼m,多個碼以分號 ; 分隔,\e[0m 重置所有屬性。
文字顏色碼 (30-37)
| 碼值 | 顏色 |
| 30 | 黑色 |
| 31 | 紅色 |
| 32 | 綠色 |
| 33 | 黃色 |
| 34 | 藍色 |
| 35 | 洋紅 |
| 36 | 青色 |
| 37 | 白色 |
背景顏色碼 (40-47)
| 碼值 | 顏色 |
| 40 | 黑色 |
| 41 | 紅色 |
| 42 | 綠色 |
| 43 | 黃色 |
| 44 | 藍色 |
| 45 | 洋紅 |
| 46 | 青色 |
| 47 | 白色 |
文字屬性碼
| 碼值 | 效果 |
| 0 | 重置所有屬性 |
| 1 | 高亮/粗體 |
| 4 | 底線 |
| 5 | 閃爍 |
| 7 | 反白顯示 |
| 8 | 隱藏 |
實戰範例
1. 紅色文字
echo -e "\e[31mThis is red text\e[0m"
2. 綠色背景
echo -e "\e[42mGreen Background\e[0m"
3. 粗體文字
echo -e "\e[1mBold Text\e[0m"
4. 組合特效:紅字綠底加粗
echo -e "\e[1;31;42mBold Red on Green\e[0m"
5. 進度條動畫(搭配 \r)
for i in {1..100}; do
echo -ne "\rProgress: $i%"
sleep 0.05
done
echo
注意事項
- 部分舊版 Shell 不支援
-e,建議使用 printf 替代以提高可移植性
- 腳本中建議改用
printf,格式控制更精確
- ANSI 色碼需終端機支援(現代終端機均支援)
echo 雖簡單,但掌握其跳脫序列與 ANSI 轉義碼,能讓您的 Shell 腳本輸出更豐富、更專業,是 Linux 使用者的必修課之一。