bashプロンプトでコマンドが実行された時刻を表示するには?

bashプロンプトでコマンドが実行された時刻を表示するには?

現在私のbashプロンプトは次のとおりです。

$ echo $PS1
# \[\e[34m\][\t]\[\e[0m\] \[\e]0;\w\a\]\[\e[34m\]\u@\h: \[\e[34m\]\w\[\e[0m\]\n$
$

問題は、\tプロンプトがレンダリングされる時間だけが表示されることです(最後のコマンドの完了時間に非常に近いです)。

私にとっては、現在のコマンドプロセスの開始時刻を表示する方が便利です。これを行う方法はありますか?

答え1

私が正しく理解した場合は、現在のコマンドを起動したときにプロンプ​​トを変更したいと思います。私はBashにプロンプ​​ト変更機能がないと思いますが、見つけることができれば(複数のコマンドでは簡単ではありません)、プロンプトを再描画できます。

zshはこの機能を使用しますprecmd。 Bashには同様の機能はありませんが、ハッキングできます

答え2

いいえ、プロンプトが表示された時点とコマンドを入力してからキーを押すまでENTERの間に時間がある可能性があるためです。

コマンド以外の項目のエイリアスを設定できます(例:Deut)は時間を表示した後に渡されたコマンドを実行します。毎回使用する必要があることを覚えておく必要があり、設定したシステム(およびアカウント)でのみ機能します。

関連情報