73 votes

Ré-exécution continue d'une commande lorsqu'elle se termine en Bash

J'essaie de trouver un moyen simple de réexécuter une commande chaque fois qu'elle se termine, pour quelque raison que ce soit (erreur ou autre).

Quelle serait la meilleure façon d'aborder cette question ?

EDITAR: Je n'ai pas été assez clair avant. J'ai besoin de la prochaine exécution pour attendre jusqu'à ce que le précédent se termine.

EDIT 2 : Presque toutes les réponses fonctionnent très bien. I

0voto

jayadeepk Points 11

C'est une autre méthode que j'utilise pour répéter une commande dans bash. Cela peut sembler idiot pour certains car cela n'implique pas d'écrire un script et pourrait être connu de beaucoup. Mais je pense que cela vaut la peine d'être mentionné car c'est rapide et adapté aux débutants, dans le sens où il n'y a pas beaucoup de syntaxe à retenir. Je ne l'ai testé que dans gnome-terminal d'Ubuntu et d'autres terminaux pourraient ne pas le supporter.

  1. Entrez la commande dans le terminal une fois.
  2. Sélectionnez la commande incluant le caractère de nouvelle ligne avec la souris.
  3. Copiez la sélection en utilisant Ctrl-Insert ou en utilisant le menu contextuel (généralement accessible par un clic droit).
  4. Utilisez Shift-Insert pour coller autant de fois que vous voulez exécuter la commande.

Vous n'avez pas besoin d'attendre la fin de chaque commande pour coller. Les commandes collées sont placées dans une file d'attente et s'exécutent les unes après les autres.

0voto

Jefferey Cave Points 111

Je suis d'humeur coquine aujourd'hui.

Lire à partir d'un des flux infinis et le transmettre à xargs

cat /dev/zero | xargs --null echo hello there

Si vous avez besoin de faire une petite pause, vous aurez probablement besoin d'exécuter sh

cat /dev/zero | xargs --null sh -c "echo hello there; sleep 3"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X