我无法printf
在 bash 脚本中使用 %e 描述符打印变量。它只会说
#!/bin/bash
a=14.9
printf %e 14.9;
我知道这可能是一个非常简单的问题,但我对 bash 还很陌生,而且总是使用echo
. 另外,我在任何地方都找不到答案。
跑步时我得到
$ ./test.text
./test.text: line 3: printf: 14.9: invalid number
0,000000
因此我的问题是语言环境变量 LC_NUMERIC:设置它以便我使用逗号作为小数分隔符。事实上,它被设置为欧洲本地化:
$ locale | grep NUM
LC_NUMERIC="it_IT.UTF-8"
我以为我将它设置为 en_US.UTF-8,但显然我没有。现在问题切换到如何设置我的语言环境变量。只需使用
$ LC_NUMERIC="en_US.UTF-8"
不会工作。