Ich habe versucht, den time
Befehl mit der -f
Option zum Formatieren der Zeitausgabe zu verwenden, erhalte jedoch die folgende Fehlermeldung:
-f: command not found
Dann habe ich versucht , andere Optionen zu nutzen -a
, -o
usw. , und ich bekomme den gleichen Fehler. Nicht einmal time --version
funktioniert nicht ( --version: command not found
).
Sag mir nicht, ich soll den Mann lesen, weil ich es schon oft mache ... Alle diese Optionen sind dort angegeben. Wo könnte das Problem liegen?
command-line
bash
time-command
user258266
quelle
quelle
sudo apt-get install --reinstall time
?time
mit/usr/bin/time
Antworten:
Nun, auch wenn Sie es nicht mögen, werde ich Sie wieder mit mehr Aufmerksamkeit zum Lesen bringen
man time
. Am Ende desEXAMPLES
Abschnitts finden Sie:Ich gehe also davon aus, dass Sie eine Bash-Shell verwenden, die eine interne Version von verwendet
time
, die als Shell-Schlüsselwort bereitgestellt wird. Sie können dies mit dem folgenden Befehl überprüfen:und die Ausgabe wird wahrscheinlich sein:
Wenn dies der Fall ist, dann ist klar, zu verwenden , den wirklichen
time
Befehl, müssen Sie seinen expliziten Pfad zu verwenden:/usr/bin/time
.Wenn Sie das Shell-Schlüsselwort nicht mehr verwenden möchten
time
, können Sie einen permanenten Alias wie folgt erstellen :Dadurch wird das Shell-Schlüsselwort überschrieben,
time
da der Befehl:wird nun die folgende Ausgabe geben:
quelle
info time
handelt von der Binärdatei.help time
geht es um den eingebauten.Da es sich, wie in den anderen Antworten erläutert,
time
um ein Shell-Schlüsselwort handelt, haben Sie nur folgende Möglichkeiten-p
:Sie müssen also das ausführen, in dem sich
time
das befindet/usr/bin
. Hier sind einige Möglichkeiten, dies zu tun:Verwenden Sie
time
stattdessen die ausführbare Datei:Verwenden Sie
\
, wodurch Ihre Shell Aliase und Schlüsselwörter ignoriert und stattdessen nach$PATH
einer passenden ausführbaren Datei sucht :Verwenden Sie das
command
eingebaute, das einen ähnlichen Effekt hat:Verwenden Sie eine andere Shell, die kein solches Schlüsselwort enthält. Zum Beispiel
sh
(was eigentlichdash
auf Ubuntu ist):Benutze
which
, was dein durchsucht$PATH
(OK, das ist albern):quelle
time
mit regulären eingebauten replizieren/usr/bin/time
? Dh, Bash-Skript in Bindestrich zu übersetzen.time
, laufen Sietime
. Wenn Sie die eigenständige ausführbare Datei möchten, führen Sie sie aus/usr/bin/time
.time
Soweit mir bekannt ist, gibt es in Ubuntus Standard-Shell keine eingebauten Funktionen . Ich möchte ein Skript mit der integrierten Funktion in ein eigenständiges Skript mit demselben Verhalten übersetzen.time
. Es wird angerufen, welcher verfügbar ist. Das wird das Builtin für Bash und das Standalone für Dash sein. Wenn Sie verwenden/usr/bin/time
, wird immer der Standalone aufgerufen, sowohl in Bash als auch in Dash. Aber es hört sich so an, als ob Sie wahrscheinlich eine neue Frage stellen und das Verhalten erklären sollten, das Sie benötigen. Lassen Sie es mich wissen und ich werde versuchen zu helfen.Die
bash
undzsh
Muscheln haben ihren internentime
Befehl. Sie müssen verwendenÜbrigens entdeckte ich das mit (von
zsh
):quelle