Réponses:
Essayez juste time
au lieu de timethis
.
Sachez toutefois qu’il existe souvent une version de shell intégrée à Time et une version binaire, qui donneront des résultats dans différents formats:
$ time wget -q -O /dev/null https://unix.stackexchange.com/
real 0m0.178s
user 0m0.003s
sys 0m0.005s
contre
$ \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
Contrairement à votre programme "timethis", vous obtenez trois valeurs. C'est décomposé dans Qu'est-ce que "l'heure système" lors de l'utilisation de "heure" en ligne de commande , mais en bref: " réel " signifie "heure d'horloge", tandis que l' utilisateur et le système affichent l'heure de la CPU, répartie entre le code normal et les appels système.
En utilisant l'exécutable time
au lieu du shell intégré, vous pouvez spécifier le format de sortie et les valeurs. Par exemple, obtenir le temps réel réel avec le nom de la commande et les paramètres
/usr/bin/time --format='%C took %e seconds' sleep 3
sleep 3 took 3.00 seconds
Notez que vous devez spécifier le chemin pour time
, sinon vous utiliserez par défaut le shell intégré.
/usr/bin
est dans leur PATH?
time
utilitaire intégré au shell sera utilisé.
command time
ou \time
exécuter l'utilitaire à la place de la fonction intégrée.
@galois: Les différents shell ont une poignée de commandes "intégrées" qui priment sur tout ce qui se trouve sur le chemin. Normalement, c'est avantageux. les fonctions intégrées tendent à fonctionner plus rapidement (car n’appelant pas de fichier externe) et donnent généralement le résultat souhaité (c.-à-d. que, dans le cas de la commande time, vous ne vous souciez pas de la version que vous utilisez, sauf si vous souhaitez utiliser le " --format "drapeau).
Donc, "le temps" sans aucun caractère spécial (comme /) pour donner l’impression qu’un chemin finira par exécuter le programme intégré, quelle que soit l’aspect de votre PATH.
Pour forcer le shell à utiliser la commande time externe, vous devez indiquer le chemin