Shell

您可以更改 tcsh 上歷史命令的時間戳格式嗎

  • November 9, 2015

當我執行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 而不是作業系統提供的二進製文件。

tcsh手冊頁。

摘抄

history 第一個單詞表示要保存的歷史事件的數量。可選的第二個字 (+) 表示列印歷史的格式;如果未給出,%h\t%T\t%R\n則使用。格式序列在下面的提示下描述;注意 的變數含義%R。預設設置為100

例子

$ 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解釋命令的部分。他們在那裡。

引用自:https://unix.stackexchange.com/questions/154454