Acabo de cambiar a zsh
. Sin embargo, realmente no me gusta cómo el time
comando incorporado también genera el comando que está cronometrando. Prefiero el bash
estilo de salida. ¿Alguien sabe cómo cambiarlo?
Zsh:
[casqa1:~/temp]$ time grep foo /dev/null
/usr/local/gnu/bin/grep --color -i foo /dev/null 0.00s user 0.00s system 53% cpu 0.004 total
Golpetazo:
[casqa1:~/temp]$ bash
casqa1.nyc:~/temp> time grep foo /dev/null
real 0.0
user 0.0
sys 0.0
Gracias,
/ YGA
TIMEFMT=$'\nreal\t%*E\nuser\t%*U\nsys\t%*S'
. La*
s en las banderas los formatea como horas / minutos según bash, en lugar de solo segundos. Más informaciónTIMEFMT
aquí .Otra opción es deshabilitar el comando incorporado y usar el tiempo binario proporcionado por su sistema operativo. Tengo lo siguiente en mi
.zshrc
:De esta manera, el tiempo sale a STDERR.
fuente
Solo una pequeña precisión con respecto a la respuesta muy útil de Dennis Williamson (la parte "bastante cercana"):
time
salidas integradas de bash astderr
, mientras que las salidas de zsh astdout
.Este comando puede ilustrar la diferencia:
time (echo abc) 2>/dev/null
En bash, genera:
En zsh, con la variable TIMEFMT sugerida:
fuente