J'ai un script shell qui ressemble à ceci :
echo firstOutput
read -s
command0
command1a
command1b
command1c
echo secondOutput
command2
command1a
, command1b
, command1c
sont des commandes individuelles mais elles peuvent être exécutées dans un ordre arbitraire et forment un groupe au sens de l'explication suivante.
Je veux maintenant l'améliorer pour que le script continue même si une commande reste bloquée. command0
doit être exécuté en premier et il a 8 secondes pour fonctionner. S'il n'y parvient pas dans les 8 secondes, le script doit poursuivre avec command1[a-c]
qui ont ensemble 5 secondes pour fonctionner. Si elles ne se terminent pas dans les 5 secondes données, command2
doit être appelé. Au cas où cela serait important : command2
est la dernière commande de ce script.
Édition : Pour clarifier : Je sais comment créer un script qui exécute les commandes dans le temps maximum autorisé. Cependant, ce sont des délais d'attente et je veux que le script s'exécute le plus rapidement possible. Le script entier se termine généralement en une fraction de seconde après que la touche entrée soit pressée (voir la ligne read -s
).