Acabei de mudar para zsh
. No entanto, eu realmente não gosto de como o time
comando embutido também gera o comando que está no momento. Eu prefiro muito a bash
saída de estilo. Alguém sabe como mudar isso?
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
Bater:
[casqa1:~/temp]$ bash
casqa1.nyc:~/temp> time grep foo /dev/null
real 0.0
user 0.0
sys 0.0
Obrigado,
/ YGA
TIMEFMT=$'\nreal\t%*E\nuser\t%*U\nsys\t%*S'
. O*
s nos sinalizadores os formata como horas / minutos conforme o bash, em vez de apenas segundos. Mais informaçõesTIMEFMT
aqui .Outra opção é desativar o comando interno e usar o tempo binário fornecido pelo seu sistema operacional. Eu tenho o seguinte no meu
.zshrc
:Dessa forma, o tempo é enviado para STDERR.
fonte
Apenas uma pequena precisão quanto resposta muito útil de Dennis Williamson (o "bastante perto" parte): a festança da built-in
time
saídas parastderr
, enquanto as saídas de zsh parastdout
.Este comando pode ilustrar a diferença:
time (echo abc) 2>/dev/null
No bash, ele gera:
No zsh, com a variável TIMEFMT sugerida:
fonte