Risposte:
Prova solo time
invece di timethis
.
Anche se tieni presente che spesso c'è una versione di shell integrata nel tempo e una versione binaria, che darà risultati in diversi formati:
$ time wget -q -O /dev/null https://unix.stackexchange.com/
real 0m0.178s
user 0m0.003s
sys 0m0.005s
vs
$ \time wget -q -O /dev/null https://unix.stackexchange.com/
0.00user 0.00system 0:00.17elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+613minor)pagefaults 0swaps
A differenza del tuo programma "timethis", ottieni tre valori indietro. Questo è suddiviso in Che cos'è "ora di sistema" quando si utilizza "ora" nella riga di comando , ma in breve: reale significa "ora dell'orologio da parete", mentre l' utente e il sistema mostrano l'ora dell'orologio della CPU, diviso tra il codice normale e le chiamate di sistema.
Usando il file eseguibile time
anziché l'integrato della shell, è possibile specificare il formato e i valori di output. Ad esempio ottenere il tempo reale trascorso insieme al nome del comando e ai parametri
/usr/bin/time --format='%C took %e seconds' sleep 3
sleep 3 took 3.00 seconds
Si noti che è necessario specificare il percorso per time
, altrimenti per impostazione predefinita si utilizzerà la shell integrata.
/usr/bin
è nel loro PERCORSO?
time
verrà utilizzata l'utilità integrata della shell .
command time
o \time
eseguire l'utilità anziché il build-in.
@galois: Le varie shell hanno una manciata di comandi "integrati" che hanno la precedenza su qualsiasi cosa nel percorso. Normalmente questo è vantaggioso; gli incorporati tenderanno a funzionare più velocemente (perché non si chiama un file esterno) e in genere danno il risultato desiderato (cioè, nel caso del comando time normalmente non ti interessa quale versione stai usando, a meno che tu non voglia usare il " --format "flag).
Quindi "tempo" senza caratteri speciali (come /) per farlo sembrare un percorso finirà per eseguire il built-in, indipendentemente dall'aspetto del PERCORSO.
Per forzare la shell a utilizzare il comando time esterno, è necessario fornire il percorso