鍍金池/ 教程/ Linux/ shell 學(xué)習(xí)第四天---華麗的 printf 輸出
shell 學(xué)習(xí)四十五天---xargs
shell學(xué)習(xí)第三天
shell 學(xué)習(xí)十五天---join 連接字段
shell 學(xué)習(xí)第二天
shell 學(xué)習(xí)四十三天---臨時性文件的建立與使用
shell 學(xué)習(xí)第六天---小結(jié)
shell 學(xué)習(xí)三十三天---關(guān)于重定向
shell 學(xué)習(xí)二十九天---循環(huán)
shell 學(xué)習(xí)二十四天---提取開頭或結(jié)尾數(shù)行
shell 學(xué)習(xí)第十天---sed 查找與替換
shell 學(xué)習(xí)第十一天---sed 正則的精確控制
shell 學(xué)習(xí)三十天---break,continue,shift,getopts
shell 學(xué)習(xí)---小結(jié)
shell 學(xué)習(xí)三十一天---函數(shù)問題
shell 學(xué)習(xí)第四天---華麗的 printf 輸出
shell 學(xué)習(xí)三十五天---波浪號展開與通配符
shell 學(xué)習(xí)十九天---文本塊排序
shell 學(xué)習(xí)十二天---行與字符串
shell 學(xué)習(xí)二十一天---重新格式化段落
shell 學(xué)習(xí)十八天---文本排序
shell 學(xué)習(xí)十三天---sed 案例分析
shell 學(xué)習(xí)四十一天---列出文件 ls 和 od 命令
shell 學(xué)習(xí)十七天---awk 命令
shell 學(xué)習(xí)三十六天---命令替換
shell 學(xué)習(xí)十六天---join 練習(xí)
shell 學(xué)習(xí)三十二天---read 讀取一行
shell 學(xué)習(xí)二十二天---計算行數(shù),字?jǐn)?shù)以及字符數(shù)
shell 學(xué)習(xí)小總結(jié)---本章小結(jié)
shell 學(xué)習(xí)第八天---擴(kuò)展正則表達(dá)式(ERE)
shell 學(xué)習(xí)四十二天---使用 touch 更新文件時間
shell 學(xué)習(xí)二十八天---case 語句
shell 學(xué)習(xí)三十九天---內(nèi)建命令
shell 學(xué)習(xí)第一天
shell 學(xué)習(xí)三十四天---printf 詳解
shell 學(xué)習(xí)二十六天---變量與算數(shù)
shell 學(xué)習(xí)三十八天---執(zhí)行順序和 eval
shell 學(xué)習(xí)四十四天---尋找文件
shell 學(xué)習(xí)二十五天---神器的管道符
shell 學(xué)習(xí)十四天---使用 cut 選定字段
shell 學(xué)習(xí)第五天---基本的I/O重定向
shell 學(xué)習(xí)四十天---awk 的驚人表現(xiàn)
shell 學(xué)習(xí)二十天---sort 的其他內(nèi)容以及 uniq 命令
shell 學(xué)習(xí)二十三天---打印
shell 學(xué)習(xí)第九天---分組
shell 學(xué)習(xí)四十八天---文件校驗和匹配
shell 學(xué)習(xí)二十七天---退出狀態(tài)和 if 語句
shell 學(xué)習(xí)四十七天---文件比較 cmp,diff,patch
shell 學(xué)習(xí)第七天---基礎(chǔ)正則表達(dá)式(BRE)
shell 學(xué)習(xí)四十六天---文件系統(tǒng)的空間信息 df 和 du 命令
shell 學(xué)習(xí)三十七天---引用
shell 學(xué)習(xí)小結(jié)

shell 學(xué)習(xí)第四天---華麗的 printf 輸出

printf 命令模仿 C 程序庫里的 printf()庫程序。幾乎復(fù)制了該函數(shù)的所有功能,如同 echo 命令,printf 命令可以輸出簡單的字符串:
printf “hello world\n”
通過觀察 echo 和 printf 的輸出的不同,可以發(fā)現(xiàn) echo 會提供自動換行,printf 不會提供自動換行,所以那些轉(zhuǎn)移序列在 printf 發(fā)揮的很好。
printf 命令的完整語法分為兩部分:
printf format-string [arguments....]
分析:printf 是命令,不解釋。format-string 為格式控制字符串,arguments 為參數(shù)列表。
printf 命令不用加括號。
format-string 可以沒有引號,但是最好加上,單雙引號均可
參數(shù)多于格式控制符(%)時,format-string 可以重用,可以將所有參數(shù)都轉(zhuǎn)換
arguments:使用空格分割,不用逗號。
printf “%d , %s\n” 1 abc 這里輸出的是1 , abc。有沒有引號都可以。

如果沒有 arguments %s 用 NULL 表示,%d 用 0 表示
例如:printf “%s , %d\n” 輸出結(jié)果為 ,0
format-string 的可重用性:printf “%s” abc def==>abcdef
如果以%d 來顯示字符,會有警告,提示無效的數(shù)字,此時的默認(rèn)值為 0。例如:printf "%d\n" abc==>bash: printf: abc: invalid number 0;
既然 shell 的 printf 和 C 的 printf 差不多,那么他們也都支持%。 例如:printf “%s\n” hello 輸出 hello 換行。因為各種版本的 liunx 的各種版本對 echo 的移植性不好,所以引入了 printf,printf 可以說是 echo 的加強(qiáng)版,是由 POSIX 標(biāo)準(zhǔn)定義。