Befehl nicht gefunden, wenn versucht wird, ein Format für den Zeitbefehl festzulegen

13

Ich versuche, die Zeit zu bekommen, die zum Ausführen eines Befehls benötigt wird, mit der Ausgabe in einem bestimmten Format:

time -f "%E" ls -l

Dies ähnelt dem Beispiel auf der Manpage (und auf der Online-Manpage ). Wenn ich diesen Befehl ausführe, erhalte ich jedoch:

-f: command not found

Es sieht so aus, als würde der Befehl time das -f nicht als Argument lesen, sondern als den Befehl, den ich ausführen möchte.

Wie kann ich die Ausführungszeit für einen Befehl in einem bestimmten Format ermitteln?

Isaac
quelle

Antworten:

17

Dies liegt daran, dass timees sich um einen eingebauten Bash-Befehl handelt - und der eingebaute Befehl die Optionen, die Sie verwenden möchten, nicht unterstützt.

Versuchen Sie dies, verwenden Sie den vollständigen Zeitpfad, um das eingebaute zu überspringen und das echte zu verwenden:

/usr/bin/time -f "%E" ls -l
Cäsium
quelle
3

Leider timeist sowohl ein Bash-Schlüsselwort als auch ein Programm dabei /usr/bin. Wenn Sie den vollständigen Pfad zur Zeit angeben, erhalten Sie wie in /usr/bin/time -f "%E" ls -ldie erwartete Ausgabe.

Mike Pelley
quelle
Das Programm wird von "Zeit" -Paket zur Verfügung gestellt:apt-get install time
jonhattan