394 votes

Existe-t-il un meilleur moyen d'exécuter une commande N fois dans bash?

Parfois, je lance une ligne de commande bash comme ceci :

Pour exécuter `` plusieurs fois d’affilée--10 fois dans cette affaire.

Souvent `` est vraiment une chaîne de commandes ou un pipeline.

Y a-t-il une façon plus concise de ce faire ?

616voto

Joe Koberg Points 9627
for run in {1..10}
do
  command
done

219voto

BatchyX Points 2521
for ((n=0;n<10;n++)); do some_command; done

148voto

mitnk Points 421

Une autre façon simple de le pirater :

Exécutez echo 20 fois.

31voto

Ole Tange Points 4907

L'utilisation de GNU Parallèle, vous pouvez le faire:

parallel some_command ::: {1..1000}

Si vous ne voulez pas le nombre comme argument et seulement exécuter une seule tâche à la fois:

parallel -j1 -N0 some_command ::: {1..1000}

Regarder la vidéo d'intro pour une présentation rapide: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Promenade à travers le tutoriel (http://www.gnu.org/software/parallel/parallel_tutorial.html). Vous ligne de commande avec amour pour vous.

13voto

Dennis Williamson Points 105818

Une autre forme de votre exemple :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X