tcshで履歴コマンドのタイムスタンプ形式を変更できますか?

tcshで履歴コマンドのタイムスタンプ形式を変更できますか?

tcshでコマンドを実行すると、historyタイムスタンプの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があります。

history環境:Red Har Linux 4.4ですが、OSが提供するバイナリではなく組み込みシェルなので、答えには影響しないと思います。

答え1

tcshマンページから。

抜粋

歴史の最初の単語は、保存すべき歴史的出来事の数を表します。オプションの2番目の単語(+)は、記録印刷形式を表します。指定しない場合、%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- 月1年
  • `%T - 24時間。時間
  • %R- 実行コマンド

これらのマクロの完全な説明はマニュアルページで定義されており、tcshコマンドが説明されているセクションまで下にスクロールしてください。promptそこにそれらがあります。

関連情報