
date
端末(現在使用中)でコマンドを実行するたびに、コマンドの前にプレフィックスを付ける方法を探していますzsh
。
その理由は、私が主に完了するのに時間がかかるスクリプトを実行するためです。
私はこの情報が利用可能であることを知っており、[h]top
プロセスを実行するのにかかる時間を出力するコマンドも私のファイルに.zshrc
あります。もちろん、コマンドが完了したら、この情報が利用可能かどうかを知りたいです。いつ始まりだ。
たとえば、基本的に私が望むのは、各コマンドに対してcmd
実行する内容ですdate; cmd
。
ありがとうございます!
編集する
私は次のようなものを探しています:
date ;
右下のカウンターは私がすでに持っているものです。各コマンドにプレフィックスを追加する方法を知りたいです。
答え1
行を受け入れ、その中のコードの解釈を開始するzsh
たびに現在の時刻を印刷するには、フックでこれを行うことができます。zle
zsh
preexec()
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.}'