Shell:打印一个前面带零的数字到变量?

时间:2012-12-06 15:17:41

标签: bash printf number-formatting

我想使用以下C格式在bash脚本中打印数字:%05d。 所以我有两个变量

$num1
$num2

当我设置为num1=12时,我希望echo $num2等于00012。 怎么做?

1 个答案:

答案 0 :(得分:5)

num1=12
printf -v num2 '%05d' "$num1"

请注意,这仅设置num2一次。如果希望num2始终反映num1的当前值,则需要将其定义为函数:

num2() { printf '%05d' "$num1"; }

...然后按原样调用它:

num2