FreeBSD에서 누구의 날짜 형식 변경하기

FreeBSD에서 누구의 날짜 형식 변경하기

Linuxae의 출력과 달리 2022-11-07 16:23FreeBSD who명령은 출력됩니다 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"의 날짜 문자열 출력은 소스 코드의 해당 형식 문자열로 하드코딩되어 있으며 로케일 변경으로 인해 변경되지 않습니다.

이를 조정하는 유일한 방법은 소스 코드를 수정하고 선택한 형식을 사용하여 "누구"를 다시 작성하는 것입니다(또는 일부 래퍼 스크립트를 사용하여 누가를 중심으로 다시 작성하지만 지저분해질 수 있습니다).

관련 정보