8.shell printf命令
阿新 • • 發佈:2019-02-08
printf 命令模仿 C 程式庫(library)裡的 printf() 程式。
printf 由 POSIX 標準所定義,因此使用 printf 的指令碼比使用 echo 移植性好。
1.printf 命令的語法:
printf format-string[arguments...]
引數說明:
- format-string: 為格式控制字串
- arguments: 為引數列表。
2.%s %c %d %f都是格式替代符
%-5s 指一個寬度為5個字元(-表示左對齊,沒有則表示右對齊),任何字元都會被顯示在5個字元寬的字元內,如果不足則自動以空格填充,超過也會將內容全部顯示出來。
%-4.3f 指格式化為小數,其中.3指保留3位小數,4指寬度為4。
%d %s %c %f 格式替代符詳解:
d: Decimal 十進位制整數 -- 對應位置引數必須是十進位制整數,否則報錯!
s: String 字串 -- 對應位置引數必須是字串或者字元型,否則報錯!
c: Char 字元 -- 對應位置引數必須是字串或者字元型,否則報錯!
f: Float 浮點 -- 對應位置引數必須是數字型,否則報錯!
如:其中最後一個引數是 "def",%c 自動擷取字串的第一個字元作為結果輸出。
$ printf "%d %s %c\n"1"abc""def"1 abc d
3.format -string 有無引號
4.格式只有一個,多出的引數仍會按照改格式輸出,format-string被重用
5.只有格式,沒有引數,%s輸出是NULL,%d是0