Comment exécuter un programme X fois dans le terminal?
J'ai lu que je dois faire un txt bin / bash, mais je ne sais pas comment exécuter ce X fois.
command-line
user3597989
la source
la source
Réponses:
Vous pouvez utiliser
xargs
etseq
. Généralement:Par exemple:
exécutera la
xdotool click 1
commande 10 fois.la source
Ouvrez un terminal et utilisez la
bash
commande suivante :Avec un peu de verbosité et 1s de retard:
la source
$
. Il est juste là pour indiquer une invite shell commesylvain@sylvain-ThinkPad-T430s:~$
. Nous l'ajoutons généralement aux réponses en ligne de commande pour différencier la commande de ses résultats.Cela devrait faire:
où 10 est le nombre d'exécutions de la commande
si vous avez besoin de faire une petite pause:
Copiez le script dans un fichier vide, remplacez-le
<command to run>
par votrexdotool
commande, enregistrez-le sousrun_xdotool.sh
, exécutez-le par la commande:Alternativement, vous pouvez le rendre exécutable et l'exécuter simplement par
Une autre solution: utiliser l'option de répétition intégrée de xdotool
Puisque vous mentionnez de l'utiliser pour faire des clics, le plus simple pourrait être d'utiliser
xdotool
la propre option de répétition intégrée de. Le format est:Pour effectuer 10 clics de souris (bouton 1) d'affilée, une seconde entre les deux, la commande est:
la source
Si vous avez GNU Parallel, vous pouvez exécuter:
Tous les nouveaux ordinateurs ont plusieurs cœurs, mais la plupart des programmes sont de nature série et n'utiliseront donc pas les cœurs multiples. Cependant, de nombreuses tâches sont extrêmement parallélisables:
GNU Parallel est un paralléliseur général et permet d'exécuter facilement des travaux en parallèle sur la même machine ou sur plusieurs machines auxquelles vous avez accès ssh.
Si vous souhaitez exécuter 32 tâches différentes sur 4 processeurs, une manière simple de paralléliser consiste à exécuter 8 tâches sur chaque processeur:
GNU Parallel génère à la place un nouveau processus à la fin - en maintenant les CPU actifs et en économisant ainsi du temps:
Installation
Une installation personnelle ne nécessite pas d'accès root. Cela peut être fait en 10 secondes en procédant comme suit:
Pour d'autres options d'installation, voir http://git.savannah.gnu.org/cgit/parallel.git/tree/README
Apprendre encore plus
Voir plus d'exemples: http://www.gnu.org/software/parallel/man.html
Regardez les vidéos d'introduction: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
Parcourez le didacticiel: http://www.gnu.org/software/parallel/parallel_tutorial.html
Inscrivez-vous à la liste de diffusion pour obtenir de l'aide: https://lists.gnu.org/mailman/listinfo/parallel
la source
parallel -N0 doit ::: {1..10}
{1..10}
ne fonctionne pas dans (t) csh / fish / ash, et la{1..10}
construction est limitée par la longueur de la ligne de commande, donc cela ne fonctionnera pas:{1..1000000000}
alors queseq 1000000000
cela fonctionnera très bien. Mais pour la plupart des situations,{1..10}
cela fonctionnera comme prévu, et j'utilise souvent cela aussi.Vous pouvez utiliser une
for
boucle de style C qui a l'avantage par rapport à la version avec accolade ({1..5}
) de pouvoir utiliser des variables pour spécifier les points finaux. L'une ou l'autre version est meilleure que l'utilisation d'un utilitaire externe (seq
).Tout sur une seule ligne:
Ou vous pouvez le faire sans boucle (pour cet utilitaire et cette fonction spécifiques):
la source
Vous pouvez simplement utiliser la commande watch:
changer x en temps en secondes.
Exemple :
Donc, xdotool click 1 sera répété toutes les 1 s, terminez-le lorsque vous avez terminé.
la source