跳至主要內容
CJCJ Kuo

全站文章搜尋

輸入關鍵字即刻在靜態索引中快速搜尋
↑↓ 導航 · Enter 選取前往獨立搜尋頁 →
SC2028 echo 不會轉義特殊字元應使用 printf。
資訊技術••約 1 分鐘•167 字

SC2028 echo 不會轉義特殊字元應使用 printf。

本文目錄共 5 節

錯誤代碼:

echo "Name:\t$value"

正確代碼:

printf 'Name:\t%s\n' "$value"

修正原因:

特殊字元像是 \t 或是 \n 並不會被 echo 轉義成特殊字元,而會如實的列印出字面上的 \t 及 \n。但 printf 會確實的解析此類型的特殊字元,應改變使用習慣。

部分Linux 支援像是使用 echo -e ‘\t’ 和 echo$‘\t’。但為了共通性應該避免使用,

printf 確實會擴展這些序列,應改為使用。如果在 VS code 中撰寫shell 腳本開頭宣告#!/bin/sh , ShellCheck 套件也會發出此警告。

如果您確實需要字面反斜線-t,請使用

echo "\\t"

例外狀況:

無

參考來源:

查看此系列所有文章 →
CJ Kuo (郭仕杰)

CJ Kuo (郭仕杰)

創辦人兼主筆

熱愛軟體架構、DevOps、系統調優與新技術探索的工程實踐者,也會寫寫投資和生活。

獨立技術專刊推播

訂閱技術電子報

有新文章發布時寄送到您的信箱,不發送垃圾信。