iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 22
0

Shell printf

printf指令與echo指令有些差別,不會換行:

  • printf [選項] [參數]

轉義序列

序列 說明
a 警告字符,通常為ASCII的BEL字符
b 後退
c 抑制(不顯示)輸出結果中任何結尾的換行字符(只在%b格式指示符控制下的參數字符串中有效),任何留在參數里的字符,和接下來的參數以及任何留在格式字符串中的字符,都忽略
f 換頁(formfeed)
n 換行(line feed)
r 回車(Carriage return)
t 水平製表符
v 垂直製表符
\ 一個字面上的反斜杠字符
ddd 表示1到3位數八進制值的字符,僅在格式字符串中有效
0ddd 表示1到3位的八進制值字符

換行回車的區別

格式替代符

  • %b 相對應的參數被視為含有要被處理的轉義序列之字符串。
  • %c Char字符,對應位置參數必須是字符串或者字符型
  • %d, %i Decimal十進制整數 對應位置參數必須是十進制整數
  • %e, %E, %f 浮點格式
  • %g %e或%f轉換,看哪一個較短,則刪除結尾的零,對應位置參數必須是數字型
  • %G %E或%f轉換,看哪一個較短,則刪除結尾的零,對應位置參數必須是數字型
  • %o 不帶正負號的八進制值
  • %s String字符串,對應位置參數必須是字符串或者字符型
  • %u 不帶正負號的十進制值
  • %x 不帶正負號的十六進制值,使用a至f表示10至15
  • %X 不帶正負號的十六進制值,使用A至F表示10至15
  • %% 字面意義的%

範例

使用雙引號或單引號無差別,沒有也可以執行。

心得

這次也是學習對於輸出字串的相關指令,printf並不會自動換行,版面看上去會亂一點,但是能做的功能很多。

參考

http://man.linuxde.net/printf
http://www.runoob.com/linux/linux-shell-printf.html


上一篇
Day 21 學習日誌
下一篇
Day 23 學習日誌
系列文
Linux 30天學習日誌30

尚未有邦友留言

立即登入留言