
最後のコマンドの実行時間を取得するには、bashrcに次のコードがあります。https://stackoverflow.com/a/1862762
function timer_start {
timer=${timer:-$SECONDS}
}
function timer_stop {
timer_show=$(($SECONDS - $timer))
unset timer
}
trap 'timer_start' DEBUG
PROMPT_COMMAND=timer_stop
PS1='[last: ${timer_show}s][\w]$ '
しかし、実行すると、echo $_
最後のコマンド引数の代わりに「timer_start」が表示されます。
$_
変数を維持するにはどうすればよいですか?
答え1
次のことができます。
trap '__=$_; timer_start; : "$__"' DEBUG