Vous avez sûrement rencontré certaines tâches que vous devez effectuer à plusieurs reprises. Par exemple, imaginez que vous avez un répertoire plein de fichiers et que vous voulez changer le nom de tous, ou que vous avez besoin de compresser plusieurs fichiers ou de les décompresser, peut-être devez-vous convertir d'un format à un autre, des sauvegardes périodiques, etc. Les scripts ont des solutions pour tout cela.
Ces tâches lorsqu'elles sont appliquées à un seul fichier dans Bash sont très bien. Le problème, c'est quand il faut l'appliquer à des dizaines d'entre eux. Les devoirs peuvent être très ennuyeux. Avec une simple boucle ou boucle dans Bash, vous pouvez vous débarrasser de ce problème et exécuter une tâche à plusieurs reprises pour l'automatiser et ne pas vous coûter autant de travail. La façon de le faire est super simple, mais de nombreux nouveaux utilisateurs ne le font pas et finissent par faire la tâche manuellement ou à la recherche de programmes graphiques qui le font ...
Pour ce faire, s'en tenir à cette structure:
for x in objetivo; do comando; done
Par exempleSupposons que vous souhaitiez supprimer les fichiers nommés nom0, nom1, nom2, nom3, etc., jusqu'au numéro nom100. Aller un par un avec rm serait assez fastidieux, à la place, vous pouvez exécuter la commande suivante:
for n in 'seq 100'; do rm nombre$n; done
Ou peut-être imaginez que vous avez un répertoire avec plusieurs fichiers .zip compressés que vous souhaitez extraire. Pour éviter d'avoir à passer un par un, vous pouvez utiliser:
</pre> <pre>for n in *.zip; do unzip "$n"; done
Vous modifier ces boucles bash car vous préférez utiliser l'outil dont vous avez besoin dans votre cas. Par exemple, encore un autre, imaginez maintenant que vous voulez décompresser une archive tar:
</pre> <pre>for n in *.tar.xz; do tar -xf "$n"; done</pre> <pre>
Je espère que cela pour ne pas perdre autant de temps à faire toutes ces tâches une par une et que vous pouvez l'appliquer pour rationaliser votre travail quotidien. Comme vous pouvez le voir, cela n'a pas de mystère, c'est super simple ...