輸出
echo
echo "$VAR"
輸出 VAR 變數到螢幕上
輸出完內容後會換行
如果只打 echo 等同於換行
echo -e 'hello\nworld'
特殊字元將進行轉義
例如 \n 將轉換成換行
echo -n 'string'
去除換行字元
printf
printf "%-10s %10d\n" "${text}" "${number}"
格式化輸出變數 ${text} 和 ${number} 的內容
%-10s 為靠左對齊,固定10個字元
%10d 為固定10個數字
\n 為換行
${text} 為第一個變數,對應 %-10s
變數加雙引號是怕有空白,導致程式判斷錯誤
${number} 為第二個變數,對應 %10d
printf '%b' '\x41'
輸出大寫 A
%b 會把 \x41 十六進制的數值轉換成 ASCII 字元
printf '%d' "\"a"
輸出 97
單引號或雙引號後面的字元會轉換成 ASCII 數值
\" 轉譯成 "
printf "%02x" $variable
輸出2位數16進制的數值,前面不足補0
printf '%*s' $number $string
* 代表字串長度為 $number
s 代表字串為 $string
printf -v VAR 'string'
將輸出的內容,儲存至 VAR 變數裡
格式化輸出時間
printf '%()T'
輸出時間 時-分-秒
例如:18時15分50秒
printf '%()T' -1
輸出現在的時間
-1 現在的時間
例如:18時15分50秒
printf '%(%F)T'
輸出時間 年-月-日
例如:2020-09-06
其他格式化時間,可以參考 strftime 系統程式庫
man strftime
查看 strftime 文件
Last updated