locale
通过字面意思加man手册其实也能猜个大概: get locale-specific information(获取特定语言区域的配置信息)
设置LC_TIME,让date显示中文
F: Linux 下只想date
命令显示中文
M: 设置下LC_TIME就行了
1 | root@dev:~# date |
F: 不行啊,设置未生效
1 | root@dev:~# export LC_TIME="zh_CN.utf8" |
M: 你单独执行locale
F: 好
1 | root@dev:~# locale |
M: 恭喜你踩到第一个坑,LC_ALL如果设置了,会覆盖其它所有LC_*
; 看看/etc/default/locale
还有其它profile bashrc等文件是否有配置相关变量; LC_ALL > LC_* > LANG
F: grep
看我服务器没相关设置
M: 服务器?! 两种方式:
1 - 改服务端sshd_config
,注释掉AcceptEnv
,不建议
1 | # Allow client to pass locale environment variables |
2 - 把你本地设置的LC_ALL配置去掉,你看看本地文件尤其是~/.bash_profile
,把下面类似配置去掉
1 | export LC_ALL=en_US.UTF-8 |
然后重新登录你服务端设置LC_TIME
F: 还有LC_*
其它字段… …
M: 停!
1 | man locale; man 5 locale; man 7 locale |