Chciałem użyć czasu gnu do zmierzenia czasu pracy niektórych małych programów .cc. W człowieku jest napisane, że:Gnu i formatowanie wyjścia
-f FORMAT, --format FORMAT
Use FORMAT as the format string that controls the output of time. See the below more information.
Następnie w przykładach mamy:
To run the command `ls -Fs' and show just the user, system, and total time:
time -f "%E real,%U user,%S sys" ls -Fs
Ale kiedy próbuję wydać polecenie z przykładu uzyskać:
time -f '%E real,%U user,%S sys' ls -Fs
-f: command not found
real 0m0.134s
user 0m0.084s
sys 0m0.044s
jestem Zastanawiając się, gdzie jest problem, gdzie popełniam błąd? Chcę tylko pokazać czas użytkownika, dlatego gram z formatem wyjściowym czasu.
Dzięki za szybką odpowiedź, po prostu użyję TIMEFORMAT, ale wszystkie te działają. – Andna
'/ usr/bin/time' nie jest dostępny na niektórych systemach (np. NixOS), ale odkryłem, że' czas polecenia ... 'działa jako sposób na uniknięcie wbudowanego basha. – Warbo
Świetny punkt, 'command' to narzędzie powłoki zdefiniowane w standardzie POSIX, więc powinno być dostępne w' sh' i cokolwiek (w tym 'bash' i' ksh'), które mogą działać jako 'sh'. Jak wspomniano tutaj: https://stackoverflow.com/questions/6365795/invoking-program-when-a-bash-function-has-the-same-name – minopret