您可以更改 tcsh 上历史命令的时间戳格式吗

您可以更改 tcsh 上历史命令的时间戳格式吗

当我运行history命令(在 tcsh 上)时,它仅打印时间戳的 TIME 部分并省略日期:

 3  15:07   echo $PATH
 4  15:07   ls -la

在bash中,您可以使用HISTTIMEFORMAT环境变量来影响命令打印的时间戳格式history

例如set HISTTIMEFORMAT="[%F %T %Z] "

有没有办法在 tcsh 中执行此操作,如果可以,需要哪个版本的 tcsh?我们有 tcsh 6.17.00。

环境:Red Har Linux 4.4,但我认为答案不应该受到影响,因为history它是内置的 shell,而不是操作系统提供的二进制文件。

答案1

tcsh手册页。

摘抄

历史 第一个字表示要保存的历史事件的数量。可选的第二个字(+)表示打印历史记录的格式;如果没有给出,%h\t%T\t%R\n则使用。格式顺序在提示下描述如下;注意 的变量含义%R100默认设置为。

例子

$ set history= ( 1000 "%h %W/%D/%Y %T %R\n" )

结果是:

$ 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

这将导致最后 1000 个命令的历史记录以"%h %W/%D/%Y %T %R\n".

  • %h- 历史 #
  • %W/%D/%Y- 月日年
  • `%T - 24 小时。时间
  • %R- 命令运行

这些宏的完整描述在手册页中定义,向下滚动到解释命令tcsh的部分。prompt他们就在那里。

相关内容