コマンドの実行時にプロンプ​​トを表示するには?

コマンドの実行時にプロンプ​​トを表示するには?

コマンドの開始時にプロンプ​​トにタイムスタンプを追加するにはどうすればよいですか?その間、どこかで解決策を探しています。静的プロンプトそして連続時計

主な違いは、プロンプトがロードされると静的プロンプトが表示されることです。数分間そのままにしてからコマンドを入力したら、別のタイムスタンプを追加したいと思います。私の目標は、コマンドを実行するのにかかる時間とプロンプトがアイドル状態である時間の違いを簡単に確認できることです。 bashを使用したいという点を除いて、連続クロック応答の問題は、すべてをフラッシュするため、開始タイムスタンプを失うことです。

たとえば、新しいシェルを開くと、次のプロンプトが表示されます。

10:30:21 jeff ~ $

それでは、実際にコマンド入力を終了し、クリックする前にしばらくそのまま残っているとしましょう。Enter

10:30:21 jeff ~ 10:31:28 $ ./long_running.sh
10:36:52 jeff ~ $

実際にコマンドを実行したときを示す別のタイムスタンプが添付されています。次のプロンプトの開始タイムスタンプを除くと、コマンドの実行に約5分かかります。

ベストアンサー1

各コマンドが実行される前に呼び出すことができるDEBUGトラップがあります。

例えば

trap 'echo -e "\nStarted at: $(date)\n"' DEBUG

その場合は、次のようにしてください。

$ trap 'echo -e "\nStarted at: $(date)\n"' DEBUG
$ pwd

Started at: Thu Aug 18 11:59:33 EDT 2016

/home/sweh
$ echo hello

Started at: Thu Aug 18 11:59:35 EDT 2016

hello
$ sleep 100

Started at: Thu Aug 18 11:59:37 EDT 2016

書き換えプロンプトはありませんが、各コマンドの前に内容がどのように出力されるかを確認できます。必要に応じてトラップ機能を複雑にすることができます。

おすすめ記事