Comment mettre du temps en bash

Je crée un simple jeu de quiz en bash. Je veux lancer la question avec un certain délai. Comment faire ça? TIA

J’ai essayé d’utiliser cette commande:

sleep 2m && kill $$ & 

mais cela met fin à tout le script. Aussi: je veux afficher une phrase “times up”

Semblable à votre tentative initiale, envisagez de créer un sous-processus qui dort et envoie un signal, mais cette fois- ci :

 handle_hup() { echo "Times up" # do more things } trap handle_hup SIGHUP mypid=$$ (sleep 2m && kill -HUP $mypid)& echo "Quiz question: ..." 

Étant donné que vous n’avez pas affiché de code ou d’exigence complet, en fournissant seulement un petit morceau de code ici qui attendra l’entrée de l’utilisateur pendant 10 secondes, il imprimera le délai d’attente de l’utilisateur. ajuster dans votre script en conséquence.

 read -t 10 -p "User, please enter your Input or it will time out in 10 seconds." ; echo ; date 

La commande timeout peut faire ce que vous voulez. par exemple

 $ timeout 120 your-game-command 

Vous pouvez vérifier le statut de sortie pour savoir si la commande a expiré conformément aux documents:

Si la commande expire, quittez avec le statut 124