Commande FOR
Romain
-
Romain -
Romain -
Bonjour,
j'ai écrit un programme et j'ai un souci au niveau de ma commande FOR.
Je voudrais copier le répertoire et faire 3 répertoire selon mes valeurs données. J'ai écrit le programme suivant :
-----------------------------------------
$BC1="Rep1"
$BC2="Rep2"
$BC3="Rep3"
for BC in $BC1,$BC2,$BC3
do
cp -R /users/SUM /users/$BC;
done
-----------------------------------------
mon problème c'est que ca me crée 1 répertoire qui s'appelle "Rep1,Rep2,Rep3".
Quelle syntaxe dois je utiliser entre mes $BCx au niveau du FOR pour que ca me crée bien 3 répertoire ?
j'ai écrit un programme et j'ai un souci au niveau de ma commande FOR.
Je voudrais copier le répertoire et faire 3 répertoire selon mes valeurs données. J'ai écrit le programme suivant :
-----------------------------------------
$BC1="Rep1"
$BC2="Rep2"
$BC3="Rep3"
for BC in $BC1,$BC2,$BC3
do
cp -R /users/SUM /users/$BC;
done
-----------------------------------------
mon problème c'est que ca me crée 1 répertoire qui s'appelle "Rep1,Rep2,Rep3".
Quelle syntaxe dois je utiliser entre mes $BCx au niveau du FOR pour que ca me crée bien 3 répertoire ?
Configuration: Windows XP Internet Explorer 6.0
5 réponses
-
Salut,
Alors plusieurs petites choses...
Déjà pour initialiser une variable c'est :var="blablabla"
sans "$" devant le nom.
Ensuite pour ta boucle "for" la syntaxe est la suivante :for name in "$BC1" "$BC2" "$BC3" do ... ... done
ce qui donne pour ton script :BC1="Rep1" BC2="Rep2" BC3="Rep3" for name in "$BC1" "$BC2" "$BC3" do cp -R /users/SUM /users/"$name" done
;-))
-
Par contre t'aurais tout aussi bien pu construire ton script de cette façon :
i=1 while [ "$i" -le "3" ] do cp -R /users/SUM /users/"rep$i" i=$(expr $i + 1) done
;-))
-
Ou
BC1="Rep1 Rep2 Rep3"
for BC in $BC1
do
cp -R /users/SUM /users/$BC;
done -
Salut,
on peu faire aussi avec un coup de find ou ls avec xargs -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -