Ste*_*itt 28
LANG
集的默认区域设置,即当没有更多的特定设置(使用的语言环境LC_COLLATE
,LC_NUMERIC
,LC_TIME
设置等); 它不会覆盖任何设置,它提供基本值。LC_ALL
另一方面覆盖所有区域设置。
因此,要覆盖脚本的设置,您应该设置LC_ALL
.
您可以通过运行来检查设置的效果locale
。它用引号显示了所有未明确设置的语言环境类别的计算值;在您的示例中,LANG
不是覆盖LC_NUMERIC
,而是提供默认值。如果LC_ALL
和LC_NUMERIC
未在环境中设置,则区域设置取自LANG
,并locale
显示 的值LC_NUMERIC
,如引号所示。
请参见该locales
手册页和环境变量的定义POSIX详细信息。另请参阅“语言环境”程序如何工作?
LANG
不覆盖:
$ export LC_NUMERIC="de_DE.UTF-8" $出口LANG=C $ printf "%.2f\n" 3.14 -bash: printf: 3.14: 无效数字 3,00
但LC_ALL
确实:
$ export LC_NUMERIC="de_DE.UTF-8" $出口LC_ALL=C $ printf "%.2f\n" 3.14 3.14
归档时间: |
|
查看次数: |
6327 次 |
最近记录: |