linux shell 中 printf 與 echo的區別

     echogit

  echo是很是經常使用的shell命令。參數以下:shell

  • -e:打開反斜槓字符backslash-escaped的解析,即對/n,/t等字符進行解析,而不視之爲兩個字符
  • -E:關閉反斜槓字符的解析,/n做爲兩個字符,這是系統缺省模式
  • -n:刪除最後的換行

/a : 發出警告鈴音(ALERT or CTRL-G (bell)) 
/b : 退格(BACKSPACE or CTRL-H ) 
/c : 刪除最後的字符及最後的換行(Omit final NEWLINE ) 
/e : 刪除後面的一個字符(Escape character (same as /E) ) 
/E : 同上(Escape character) 
/f : 換頁符,在某些現實中會清屏,有些會換行(FORMFEED or CTRL-L ) 
/n : 換行(NEWLINE (not at end of command) or CTRL-J ) 
/r : 從行頭開始,和換行不同,仍在本行(RETURN (ENTER) or CTRL-M ) 
/t : tab鍵(TAB or CTRL-I ) 
/v : 豎直tab,和/f同樣,顯示不一樣機器有所不同,一般會引發換行VERTICAL TAB or CTRL-K 
/n : 在cygwin中使用/65,沒法正確顯示'A’可是下面兩種方法否能夠顯示。ASCII character with octal (base-8) value n, where n is 1 to 3 digits 
/0nnn : 用8進制的值表示一個字符,例如/0101,即65,表示字符’A’(The eight-bit character whose value is the octal (base-8) value nnn where nnn is 1 to 3 digits ) 
/xHH : 用16進制的值表示一個字符,例如/x41,即65,表示字符’A’The eight-bit character whose value is the hexadecimal (base-16) value HH (one or two digits) orm

 

 

     printfci

printf和C語言的使用方式相似。和echo不同,它不會在最後自動加上換行,須要寫入命令中。例如printf "Hello, world/n"。printf的命令格式以下: 字符串

printf format-string [arguments]string

 

%c:ASCII字符,若是參數給出字符串,則打印第一個字符 
%d:10進制整數 
%i:同%d 
%e:浮點格式([-]d.精度[+-]dd) 
%E:浮點格式([-]d.精度E[+-]dd) 
%f:浮點格式([-]ddd.precision) 
%g:%e或者%f的轉換,若是後尾爲0,則刪除它們 
%G:%E或者%f的轉換,若是後尾爲0,則刪除它們 
%o:8進制 
%s:字符串 
%u:非零正整數 
%x:十六進制 
%X:非零正數,16進制,使用A-F表示10-15 
%%:表示字符"%"it

相關文章
相關標籤/搜索