在 FreeBSD 中更改 who 的日期格式

在 FreeBSD 中更改 who 的日期格式

与 Linuxae 的输出不同2022-11-07 16:23,FreeBSDwho命令输出Nov 7 16:23。如何who全局或仅在命令持续时间内更改输出中的日期格式?

whoFreeBSD 13.1-p3 上 POSIX 区域设置的示例输出(日期格式随区域设置而变化):

me               pts/1        Nov  7 13:06 (192.168.1.107 via mosh [1964])
me               pts/2        Nov  7 13:07 (tmux(1988).%0)
me               pts/3        Nov  7 13:07 (tmux(1988).%1)
me               pts/4        Nov  7 13:07 (tmux(1988).%2)
me               pts/5        Nov  7 13:08 (tmux(1988).%3)
me               pts/7        Nov  8 07:09 (192.168.1.103 via mosh [2059])
me               pts/8        Nov  7 13:08 (tmux(1988).%4)

请注意,虽然日期格式随区域设置而变化,但输出中的日期字符串是用创建的strftime()使用%e %b %R%b %e %R作为格式字符串,这使得不可能“仅使用另一个区域设置”。

答案1

你是对的,“who”中的日期字符串输出被硬编码为源代码中的那些格式字符串,并且任何区域设置更改都不会改变它。

调整它们的唯一方法是修改源代码并使用您选择的格式重新构建“who”(或者使用一些包装脚本围绕 who 重写它们,但这会很混乱)

相关内容