如何强制'谁'核心实用程序使用“%Y-%m-%d%H:%M”日期格式? 我尝试修改我的LANG,LC_ALL,LC_TIME,但没有一个产生所需的结果。 我已经通过以下命令管理它了: env -i ssh me @ remotemachine'who -s'
在这种情况下,SSH没有将我的LANG和LC_ *变量发送到远程计算机。
让我们看一下'who'实用程序源代码:
if (hard_locale (LC_TIME))
{
time_format = "%Y-%m-%d %H:%M";
time_format_width = 4 + 1 + 2 + 1 + 2 + 1 + 2 + 1 + 2;
}
else
{
time_format = "%b %e %H:%M";
time_format_width = 3 + 1 + 2 + 1 + 2 + 1 + 2;
}
嗯,我需要在Linux和Mac OS X(BSD)上使用它,但是'谁'在两者上表现相同。 hard_locale()代码就在这里:http://opensource.apple.com/source/text_cmds/text_cmds-81/sort/hard-locale.c
它检查LC_TIME,如果它是“C”或“POSIX”,那就不难定位,在这种情况下,它可以免费使用任何语言环境。
环境:
export LANG=en_US.UTF-8
export LC_TIME=en_US.UTF-8
export LC_ALL=en_US.UTF-8
不修改'who'输出的日期格式。
另一个有趣的观察:
# 2012-01-13 13:56 is used on remote machine (en_US.UTF-8)
# Now let's do this:
# env -i ssh me@remotemachine 'who -s'
# Jan 13 14:33 is used on remote machine
有什么想法吗?或者设置变量是不够的?
谢谢!