Você pode definir um alias para /usr/bin/time
como:
alias 'ubtime=/usr/bin/time '
Ou
alias 'ubtime=command time '
se você não quiser codificar o caminho para o executável time
.
O truque está no espaço à direita na definição do alias que informa ao shell que os aliases devem ser substituídos após esse alias para que
ubtime ll
Será realmente expandido para
/usr/bin/time ls -l
(assumindo que ll
é um alias para ls -l
).
Em qualquer caso, /usr/bin/time
sendo um executável autônomo, ele não pode sincronizar pipelines ou compor comandos ou funções ou shell embutidos, portanto, não pode cronometrar a expansão de aliases arbitrários.
Se o motivo do uso de /usr/bin/time
for porque você prefere o formato de saída padrão em relação ao do trabalho de chave time
, observe que em muitos shells, o formato pode ser modificado. Por exemplo, em zsh
:
$ TIMEFMT=$'\e[31;1m%J\e[m: U:%U S:%S (%*E total) [avgtext:%X avgdata:%D maxmem:%M]'
$ time ls -l | head -n1
total 288072444
ls -l: U:0.00s S:0.01s (0.017 total) [avgtext:0 avgdata:0 maxmem:3]
head -n1: U:0.00s S:0.00s (0.015 total) [avgtext:0 avgdata:0 maxmem:3]
(o \e[31;m
para saída colorida (negrito e vermelha)).