我可以通过 SSH 访问 CentOS 6.3 机器。
SSH 上的一些结果,我认为整个操作系统已本地化为葡萄牙语。
例如,当我输入日期时,我得到
Sex Fev 15 02:35:48 WET 2013
代替
Fri Feb 15... bla bla
时区是正确的,但葡萄牙语的本地化给我使用日期的脚本带来了问题,因为它们没有将其识别为日期。
如何将日期改回英文格式?
谢谢。
编辑:输入语言环境给了我这个
LANG=pt_PT.UTF-8
LC_CTYPE="pt_PT.UTF-8"
LC_NUMERIC="pt_PT.UTF-8"
LC_TIME="pt_PT.UTF-8"
LC_COLLATE="pt_PT.UTF-8"
LC_MONETARY="pt_PT.UTF-8"
LC_MESSAGES="pt_PT.UTF-8"
LC_PAPER="pt_PT.UTF-8"
LC_NAME="pt_PT.UTF-8"
LC_ADDRESS="pt_PT.UTF-8"
LC_TELEPHONE="pt_PT.UTF-8"
LC_MEASUREMENT="pt_PT.UTF-8"
LC_IDENTIFICATION="pt_PT.UTF-8"
LC_ALL=
答案1
您可以将 LC_ALL 变量设置为英语语言环境。这是一个例子:
export LC_ALL=en_US.UTF-8
计算机上必须存在区域设置。如果不是,您可以回退到 POSIX C 语言环境:
export LC_ALL=C
这POSIX规范描述区域设置变量应该如何工作。
答案2
环境中有三个级别的区域设置:
- 如果
LC_ALL
设定了,它就胜过一切。 - 如果
LC_xxx
它设置并LC_ALL
取消设置某个变量,则 的值LC_xxx
适用于该类别。 - 如果既没有设置
LC_ALL
也没有相关设置LC_xxx
,则$LANG
适用。 - 如果以上都不适用,则区域设置为
C
(这是最基本的、简单的区域设置)。
作为用户,您可以使用 定义LANG
和覆盖特定设置LC_xxx
。例如,要在葡萄牙语语言环境中工作(英国日期除外):
export LANG=pt_PT.UTF-8 LC_TIME=en_UK.UTF-8
(将其放入您的 中~/.profile
。)
您可以不设置LANG
,而只设置您感兴趣的类别。例如,要获取葡萄牙语消息并使用 UTF-8 字符集,但将其他格式保留为其默认值:
unset LANG
export LC_MESSAGES=pt_PT.UTF-8 LC_CTYPE=pt_PT.UTF-8
如果您需要运行无法应对区域设置变化的程序,请在该C
区域设置中运行它。
LC_ALL=C troublesome_script