Programmation Terminal...
Par Contributeur - Publié le
Vous avez sans doute déjà rencontré le problème en programmant des scripts shell: il n'existe pas de boucle for digne de ce nom.
En effet la boucle for classique (de type C) se présente sous la forme:
for (i=0, i<=max, i++)
Mais en shell, rien de semblable. Pour émuler ce comportement, vous pouvez utiliser l'utilitaire seq que vous pouvez télécharger ici (il n'est pas installé en standard sous OS X). seq prend un argument et renvoie la liste des entiers de 1 à cet argument. Par exemple:
seq 3
1
2
3
En combinant cela avec la boucle for var in liste vous pouvez obtenir un comportement similaire à la boucle C:
for i in $(seq 3); do
#do something
done
Par ailleurs vous trouverez d'autres utilitaires pratiques dans le package sh-utils, qui vient évidemment des développeurs de chez GNU...
En effet la boucle for classique (de type C) se présente sous la forme:
for (i=0, i<=max, i++)
Mais en shell, rien de semblable. Pour émuler ce comportement, vous pouvez utiliser l'utilitaire seq que vous pouvez télécharger ici (il n'est pas installé en standard sous OS X). seq prend un argument et renvoie la liste des entiers de 1 à cet argument. Par exemple:
seq 3
1
2
3
En combinant cela avec la boucle for var in liste vous pouvez obtenir un comportement similaire à la boucle C:
for i in $(seq 3); do
#do something
done
Par ailleurs vous trouverez d'autres utilitaires pratiques dans le package sh-utils, qui vient évidemment des développeurs de chez GNU...