web-dev-qa-db-fra.com

Comment puis-je suivre le temps depuis la ligne de commande?

Je cherche une commande pour suivre le temps.

J'imagine le flux de travail suivant:

  1. Lancer la commande
  2. ... faire autre chose ...
  3. Retournez dans la fenêtre du terminal et arrêtez la commande
  4. En sortie, vous recevez le temps écoulé entre 3 et 1
11
orschiro

Cette réponse suggère d'utiliser

time cat

et utilise Ctrl-D pour voir l'heure.

Vous pouvez aussi utiliser

time read

et utilise Enter clé

Vérifiez également cette réponse sur la même question

20
Anwar

Que diriez-vous:

stopwatch() { 
    local start=$SECONDS
    read -p "Hit Enter..."
    echo $((SECONDS-start)) seconds elapsed
}

En action:

$ stopwatch 
Hit Enter...
14 seconds elapsed
6
glenn jackman

Une façon simple de le faire est de prendre le temps de démarrage, et une fois que vous arrêtez le script - prenez le temps d'arrêt. Enfin, imprimez le décalage horaire. Cela peut facilement être fait avec Python:

python -c $'import time;start=time.time();\ntry:\n\twhile True: time.sleep(0.25)\nexcept: print(time.time()-start)'

Ou version longue pour la lisibilité:

import time
start=time.time();
try:
    while True: time.sleep(0.25)
except: 
    print(time.time()-start)

L'arrêt se fait avec Ctrl + C

3