基本格式:
printf
format [ string... ]
用途:為了從shell指令碼中產生輸出。由於printf的行為是由posix標準所定義的,因此printf比echo具有更好的可移植性
printf的轉義序列(使用方法與c語言類似):
\a 警告字元,通常為ascii的bel字元
\b 後退(一位)
\c 抑制(不顯示)輸出結果中任何結尾的換行字元(只在%b格式指示符控制下的引數字串中有效),而且,任何留在引數裡的字元、任何接下來的引數以及任何留在格式字串中的字元,都被忽略
\f 換頁(formfeed)
\n 換行
\r 回車(carriage return)
\t 水平製表符
\v 垂直製表符
\ 乙個字面上的反斜槓字元
\ddd 表示1到3位數八進位制值的字元,僅在格式字串中有效
\0ddd 表示1到3位的八進位制值字元
printf
"string: <%e>\n"
"a\nb"
#出現在引數字串裡的轉義序列不會被解釋,%s代代表著後面的引數字串,不會被解析
printf
"string: <%b>\n"
"a\nb"
#沒錯總是又奇葩的,使用%b時後面的引數字串會被解析,幹
printf格式指示符
%b 相應的引數被視為有要處理的轉義序列的字串,看上面的例子
%c ascll字元,顯示相對應引數的第乙個字元
%d,%i 十進位制整數
%e 浮點格式
%e 浮點格式
%f 浮點格式
%g %e或%f轉換,看哪個比較短,則刪除結尾的零
%g %e或%f轉換,看哪個比較短,則刪除結尾的零
%o 不帶正負號的八進位制轉換
%s 字串格式
%u 不帶正負號的十進位制值
%x 不帶正負號的十六進製制。使用a至f表示10至15
%x 不帶正負號的十六進製制。使用a至f表示10至15
%% 字面意義的%
指定字段寬度
printf
"|%10s|\n" hello #欄位預設向右對齊,空格十個單位
printf
"|%-10s|\n" hello #新增上符號,就是向左對齊
精度的意義
printf
"%.10d\n"
15#列印的位數最小為10,不夠補零
printf
"%.2f\n"
0.123456
#保留兩位小數
printf標誌
space eg:printf
"|% d| |% d|\n"
15 -15
#在正數前面新增乙個space,負數新增乙個負號
+ eg:printf
"%+d %+d\n"
15 -15
#總是在資料前面放上乙個正負號。
0 eg:printf
"%05d\n"
15#以零填補輸出
菜鳥Shell printf 命令
上一章節我們學習了 shell 的 echo 命令,本章節我們來學習 shell 的另乙個輸出命令 printf。printf 命令模仿 c 程式庫 library 裡的 printf 程式。printf 由 posix 標準所定義,因此使用 printf 的指令碼比使用 echo 移植性好。pri...
shell printf命令 格式化輸出語句
printf 命令用於格式化輸出,是echo命令的增強版。它是c語言printf 庫函式的乙個有限的變形,並且在語法上有些不同。注意 printf 由 posix 標準所定義,移植性要比 echo 好。如同 echo 命令,printf 命令也可以輸出簡單的字串 printf hello,shell...
shell printf命令 格式化輸出語句
printf 命令用於格式化輸出,是echo命令的增強版。它是c語言printf 庫函式的乙個有限的變形,並且在語法上有些不同。注意 printf 由 posix 標準所定義,移植性要比 echo 好。如同 echo 命令,printf 命令也可以輸出簡單的字串 printf hello,shell...