DVK*_*DVK 9 shell tcsh command-history timestamps
当我运行history命令(在 tcsh 上)时,它只打印时间戳的 TIME 部分并省略日期:
3 15:07 echo $PATH
4 15:07 ls -la
Run Code Online (Sandbox Code Playgroud)
在 bash 中,您可以使用HISTTIMEFORMAT环境变量来影响history命令打印的时间戳格式。
例如 set HISTTIMEFORMAT="[%F %T %Z] "
有没有办法在 tcsh 中做到这一点,如果是这样,需要哪个版本的 tcsh?我们有 tcsh 6.17.00。
环境:Red Har Linux 4.4,但我认为答案不应该受到影响,因为history它是内置的 shell 而不是操作系统提供的二进制文件。
slm*_*slm 12
从tcsh手册页。
摘抄
history 第一个字表示要保存的历史事件数。可选的第二个字 (+) 表示打印历史的格式;如果没有给出,
%h\t%T\t%R\n则使用。格式序列在提示下描述如下;注意 的变量含义%R。100默认设置为。
$ set history= ( 1000 "%h %W/%D/%Y %T %R\n" )
Run Code Online (Sandbox Code Playgroud)
结果是:
$ history
2 09/08/2014 22:48 set history= ( 1000 "%h %W/%D/%Y %T %R\n" )
7 09/08/2014 22:49 ls
9 09/08/2014 22:49 echo "hi"
10 09/08/2014 22:49 history
Run Code Online (Sandbox Code Playgroud)
这将导致保存最近 1000 个命令的历史记录,格式为"%h %W/%D/%Y %T %R\n".
%h - 历史 #%W/%D/%Y - 月日年%R - 命令运行这些宏的完整描述在tcsh手册页中定义,向下滚动到prompt解释命令的部分。他们在那里。