Enterキーを押すたびに日付と時刻を印刷します。

Enterキーを押すたびに日付と時刻を印刷します。

date端末(現在使用中)でコマンドを実行するたびに、コマンドの前にプレフィックスを付ける方法を探していますzsh

その理由は、私が主に完了するのに時間がかかるスクリプトを実行するためです。

私はこの情報が利用可能であることを知っており、[h]topプロセスを実行するのにかかる時間を出力するコマンドも私のファイルに.zshrcあります。もちろん、コマンドが完了したら、この情報が利用可能かどうかを知りたいです。いつ始まりだ。

たとえば、基本的に私が望むのは、各コマンドに対してcmd実行する内容ですdate; cmd

ありがとうございます!

編集する

私は次のようなものを探しています:

ここに画像の説明を入力してください。

date ;右下のカウンターは私がすでに持っているものです。各コマンドにプレフィックスを追加する方法を知りたいです。

ベストアンサー1

行を受け入れ、その中のコードの解釈を開始するzshたびに現在の時刻を印刷するには、フックでこれを行うことができます。zlezshpreexec()

print-time() print -P '%F{yellow}%D{%FT%T.%2.%z}%f'
preexec_functions+=(print-time)

すべてのコマンドの前にこれを行うには、DEBUGトラップで実行できます。

TRAPDEBUG() print-time > /dev/tty

しかし、完了ウィジェットや他のフックで実行されるコマンドを含むすべてのコマンドの前に実際に実行されるので、あなたはこれが好きだと思います。

正しいプロンプトに時間を追加することもできます。

RPS1='%D{%T.%1.}'

おすすめ記事