Programmation Terminal...
Par Contributeur - Publié le
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...