誰もがbashセッションのすべてのコマンドの前に「時間」コマンドを置く手段を知っていますか?
誰もがbashセッションのすべてのコマンドの前に「時間」コマンドを置く手段を知っていますか?
回答:
前に間違った答えをしてすみません、あなたの質問を誤解しました。
シェルで実行するすべてのコマンドの前に時間を追加するには、次のようにします
bind 'RETURN: "\e[1~time \e[4~\n"'
これにより、リターンキーが再バインドされます。これで改行を書き込む代わりにリターンを押すたびに、\ n行の先頭に移動し、テキスト「時間」とスペースを入力し、行の末尾に移動して改行を入力することで、\ n効果。
Enterキーを犠牲にしたくない場合は、次のようにコマンドをバインドすることで、F12のような「2番目の」ベンチマーク入力キーを作成できます。
bind '"\e[24~": "\e[1~time \e[4~\n"'
ここで、リターンキーを置き換える代わりに、F12をバインドしました。
このすべての背景は、bashがGNU readlineを使用してコマンドを読み取ることです。したがって、readlineは、さらにコマンドを操作するなどの出発点として適しています。
これはこの質問の範囲外であることを理解していますが...
でzsh
(私の知識にはbashのスーパーセットである、)あなたがあなたの中で次の変数を設定した場合.zshrc
、ファイル:
export REPORTTIME=5
5秒以上かかるすべてのコマンド(私は確信しています)は、の出力を表示しますtime
。より迅速に完了するすべてのコマンドはそうではありません。そして、これらの場合、人はあまり気にしないので、物を散らかさないのはいいことです。また、他にzsh
も便利な機能がたくさんあります。
プロンプト文字列に\ tを含めます。それはあなたがそれを含むポイントであなたのプロンプトに時間を含みます。参照:http : //www.ibm.com/developerworks/linux/library/l-tip-prompt/
PS1は、このようなことを行う標準的な方法のようです。
time
行うかとはまったく異なります(コマンドの実行にかかった時間を測定します)。