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

14

Ich versuche die Zeit zu bekommen, die benötigt wird, um einen Befehl auszuführen, mit der Ausgabe in einem bestimmten Format:

time -f "%E" ls -l

Dies ist ähnlich dem Beispiel in der man-Seite (und auf der Online-Manpage ). Wenn ich diesen Befehl ausführe, bekomme ich:

-f: command not found

Es scheint, als ob der Befehl time nicht das Argument -f liest, sondern den Befehl, den ich ausführen möchte.

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

    
Isaac 08.12.2011, 17:40
quelle

2 Antworten

16

Das liegt daran, dass time ein Bash-Befehl ist - und der eingebaute unterstützt die Optionen nicht, die Sie verwenden möchten.

Probieren Sie dies aus, verwenden Sie den vollständigen Pfad der Zeit, um das eingebaute zu überspringen und das echte zu verwenden:

/usr/bin/time -f "%E" ls -l
    
Caesium 08.12.2011, 17:50
quelle
3

Leider ist time sowohl ein Bash-Schlüsselwort als auch ein Programm in /usr/bin . Wenn Sie den vollständigen Pfad zum Zeitpunkt angeben, wie in /usr/bin/time -f "%E" ls -l , erhalten Sie die Ausgabe, die Sie erwartet haben.

    
Mike Pelley 08.12.2011 17:50
quelle

Tags und Links