Я только что перешел на zsh
. Однако мне действительно не нравится, как time
встроенная команда также выводит команду, для которой она предназначена. Я предпочитаю bash
стиль вывода. Кто-нибудь знает, как это переключить?
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
Bash:
[casqa1:~/temp]$ bash
casqa1.nyc:~/temp> time grep foo /dev/null
real 0.0
user 0.0
sys 0.0
Благодарность,
/ YGA
TIMEFMT=$'\nreal\t%*E\nuser\t%*U\nsys\t%*S'
. В*
s в форматах флагах них как часы / минуты , как на баш, а не считанные секунды. Больше информацииTIMEFMT
здесь .Другой вариант - отключить встроенную команду и использовать двоичный файл времени, предоставляемый вашей операционной системой. У меня есть следующее в моем
.zshrc
:Таким образом, время выводится в STDERR.
источник
Просто небольшая точность относительно очень полезного ответа Денниса Уильямсона («довольно близкая» часть): встроенные
time
выходные данные bash кstderr
, а выходные zsh кstdout
.Эта команда может показать разницу:
time (echo abc) 2>/dev/null
В bash выводит:
В zsh с предложенной переменной TIMEFMT:
источник