Bonjour tout le monde, j'ai un ptit souçis en shell, dont voilci un exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#!/bin/sh
 
echo "$1"
echo "$2"
 
for i in $*
do
	echo "$i"
done
et quand on exécute :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$> ./script.sh -i "toto tata"
 
-i
toto tata
 
-i
toto
tata
En gros, $2 n'est pas identique à la deuxième occurence de $*
(toto tata != toto)
Et j'aimerais savoir s'il y a un moyen de faire une boucle avec $* en conservant les quotes
mis par l'utilisateur ?
ou alors faut faire $1 ; shift ; $2 ... ?