Відповіді:
Я не думаю, що ви можете досягти точно такого ж ефекту, не змінюючи джерело bash. Але ти можеш наблизитися, сподіваємось, досить близько для тебе.
Ви можете комбінувати бакі гайморовий гачок башми та SECONDSзмінну, щоб показувати час настінного годинника ненав'язливим способом. Ось проста реалізація завдяки Віль Лорікарі . Функції timer_startі timer_stopвиконуються безпосередньо перед запуском команди та безпосередньо перед відображенням наступного підказки.
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]$ '
Щоб отримати повну timeінформацію для кожної команди, ось Деніс Вільямсон :
bind '"\C-j": "\C-atime {\C-e;}\C-m"'
Якщо ви натиснете Ctrl+ Jзамість, Enterщоб запустити команду, ви отримаєте інформацію про час. Перезавантаження Enter(тобто Ctrl+ M) не рекомендується, оскільки змінена команда іноді буде синтаксично неправильною.
Дивіться, як можна встановити час останньої стіни команди в підказку Bash? і Автоматично відмітити терміни кожної виконаної команди та показати у запиті Bash? щодо стека переповнення для інших методів (однак зауважте, що більшість надають лише минулий реальний час, а не час процесора).