Nie znaleziono polecenia podczas próby ustawienia formatu polecenia czasu

13

Próbuję uzyskać czas potrzebny na uruchomienie polecenia, którego dane wyjściowe mają określony format:

time -f "%E" ls -l

Jest to podobne do przykładu na stronie man (i na stronie man online ). Jednak po uruchomieniu tego polecenia otrzymuję:

-f: command not found

Wygląda na to, że polecenie czasu nie odczytuje -f jako argumentu, a raczej polecenia, które próbuję uruchomić.

Jak mogę uzyskać czas wykonania polecenia w określonym formacie?

Izaak
źródło

Odpowiedzi:

17

Wynika to z faktu, że timejest to wbudowane polecenie bash - a wbudowane nie obsługuje opcji, których próbujesz użyć.

Spróbuj tego, wykorzystaj pełną ścieżkę czasu, aby pominąć wbudowane i użyj prawdziwej:

/usr/bin/time -f "%E" ls -l
Cez
źródło
3

Niestety timejest zarówno słowem kluczowym bash, jak i programem /usr/bin. Jeśli określisz pełną ścieżkę do czasu, tak jak /usr/bin/time -f "%E" ls -lotrzymasz wynik, którego się spodziewałeś.

Mike Pelley
źródło
Program zapewnia pakiet „time”:apt-get install time
jonhattan