Respostas:
Tente apenas em time
vez de timethis
.
Embora esteja ciente de que geralmente há uma versão do tempo integrada no shell e uma versão binária, que fornecerá resultados em diferentes formatos:
$ time wget -q -O /dev/null https://unix.stackexchange.com/
real 0m0.178s
user 0m0.003s
sys 0m0.005s
vs
$ \time wget -q -O /dev/null https://unix.stackexchange.com/
0.00user 0.00system 0:00.17elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+613minor)pagefaults 0swaps
Ao contrário do programa "timethis", você recebe três valores de volta. Isso é dividido em O que é "hora do sistema" ao usar "hora" na linha de comando , mas resumindo: real significa "hora do relógio de parede", enquanto o usuário e o sistema mostram a hora do relógio da CPU, dividida entre o código normal e as chamadas do sistema.
Usando o executável em time
vez do shell interno, você pode especificar o formato e os valores de saída. Por exemplo, obtenha o tempo decorrido real junto com o nome e os parâmetros do comando
/usr/bin/time --format='%C took %e seconds' sleep 3
sleep 3 took 3.00 seconds
Observe que você deve especificar o caminho time
, caso contrário, usará o shell interno como padrão.
/usr/bin
está em seu caminho?
time
utilitário interno do shell será usado.
command time
ou \time
executar o utilitário em vez do build-in.
@galois: Os vários shells têm um punhado de comandos "internos" que têm precedência sobre qualquer coisa no caminho. Normalmente isso é vantajoso; os internos tendem a funcionar mais rapidamente (porque não chamam um arquivo externo) e geralmente fornecem o resultado desejado (por exemplo, no caso do comando time, você normalmente não se importa com a versão que está usando, a menos que queira usar o " --format ").
Portanto, o "tempo" sem caracteres especiais (como /) para parecer um caminho acabará executando o built-in, independentemente da aparência do seu PATH.
Para forçar o shell a usar o comando de hora externa, você deve fornecer o caminho