Bash printf 格式不起作用!

Som*_*nha 0 bash printf text-formatting

我的脚本是:

#!/bin/bash
num1=32.55
num2=145.958
printf "%5.2f\n" $num1
printf "%5.2f\n" $num2
Run Code Online (Sandbox Code Playgroud)

输出是:

32.55
145.96
Run Code Online (Sandbox Code Playgroud)

代替:

   32.55
  145.96
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?如果有帮助,我正在使用 Fedora 27 BetaLinux Kernel 4.13.8-300.fc27.x86_64

Ign*_*ams 6

宽度说明符适用于所有字符,包括小数点和分数。您的数字已经至少有 5 个字符,所以...

$ printf "%8.2f\n" 32.55
   32.55
Run Code Online (Sandbox Code Playgroud)