echo
echo是非常常用的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)
printf
printf和C語言的使用方式類似。和echo不一樣,它不會在最後自動加上換行,需要寫入命令中。例如printf "Hello, world/n"。printf的命令格式如下:
printf format-string [arguments]
%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
%%:表示字元"%"