1. 程式人生 > >8.shell printf命令

8.shell printf命令

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