Ubuntu 24.10中bash内置printf输出浮点数时显示-nan的问题求助
Ubuntu 24.10中bash内置printf输出浮点数时显示-nan的问题求助
大家好,我碰到一个挺奇怪的问题,想问问有没有朋友也遇到过类似情况:
我目前在用两个Ubuntu系统,分别是24.04和24.10版本。虽然两个系统的区域设置(locales)可能不一样,但我确认这和当前的问题无关。
在Ubuntu 24.04上,我执行bash内置的printf命令:
printf "%7d %7.2f %8.3f\n" 123 123.45 45
输出完全符合预期:
123 123.45 45.000
但换到Ubuntu 24.10上,执行完全相同的命令,结果却不对劲:
printf "%7d %7.2f %8.3f\n" 123 123.45 45
输出变成了:
123 -nan -nan
我在两个系统上都检查过printf的类型,执行type printf,结果都是:
printf is a shell builtin
对比了一下两个系统的Bash版本,24.04用的是5.2.21(1),24.10是5.2.32(1),所以我怀疑问题出在Bash版本差异上。
有没有其他人也遇到过这个问题呢?
注意:两个系统里的/bin/printf都是正常工作的,只有bash内置的printf出现了这个-nan的问题。
备注:内容来源于stack exchange,提问作者FedKad
相关产品推荐
相关产品推荐

