Bousky a écritÀ la place de
for i in "$@"
do
…
done
je préfère
while "$1" ; do
…
shift
done
(et remplacer $i par $1 dans la boucle)
« for » n'aime pas trop les espaces (dans les noms de fichiers ici) et je ne suis pas sûr du comportement de "$@". Je dis ça mais ça peut très bien marcher, à voir…
ça revient exactement au même !
"$@" équivant à "$1" "$2" ..."$j" (avec j=$#)
l'utilisation des " avec $@ protège les espaces et sauts de ligne...
mais la méthode la plus condensée est :
#!/bin/bash
for i
do
...
done
lorsque le "in" de "for" n'est pas précisé, la liste des arguments positionnels est utilisée.