Respostas:
Eu não acho que você pode conseguir exatamente o mesmo efeito sem modificar a fonte do bash. Mas você pode chegar perto, espero que esteja perto o suficiente para você.
Você pode combinar o gancho de pré-comando hacky do bash e a SECONDS
variável para mostrar a hora do relógio de parede de maneira não intrusiva. Aqui está uma implementação simples devido ao Ville Laurikari . As funções timer_start
e timer_stop
são executadas imediatamente antes de iniciar um comando e imediatamente antes de exibir o próximo prompt.
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]$ '
Para obter as time
informações completas de cada comando, eis uma maneira de Dennis Williamson :
bind '"\C-j": "\C-atime {\C-e;}\C-m"'
Quando você pressiona Ctrl+ em Jvez de Enteriniciar um comando, você obtém informações de tempo. A religação Enter(ou seja, Ctrl+ M) não é recomendada porque o comando modificado às vezes estará sintaticamente incorreto.
Consulte Como o tempo de parede do último comando pode ser colocado no prompt do Bash? e Cronometrando automaticamente todos os comandos executados e exibidos no prompt do Bash? no Stack Overflow para outros métodos (observe, porém, que a maioria fornece apenas o tempo real decorrido, não o tempo da CPU).