Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/08/2007, à 13:50

madrippeur

[RESOLU tres vite !] Shell concatenation de valeur de variables

Bonjour a tous les amis smile

J'ai un probléme de script que je n'arrive pas à régler. (je l'ai super allégé big_smile pour que je puisse vous expliquer calirement ce que je voudrai faire)

Voila j'ai 3 variables definies comme suit :
NB=2
C1=moi
C2=toi

ensuite une belle boucle for :

for (( i=1; i<=$NB; i++ ))
do
CPT=C$i
cd /home/$CPT
done

Donc si je me suis bien expliqué, vous avez compris que je veux changer de repertoire pour aller dans :
/home/VALEUR DE CPT
Bon le soucis c'est que cela tente d'accéder à /home/C1 (ou c2 celon la boucle). J'aimerai savoir comment faire pour utiliser la valeur de C1 qui est enreistrée dans CTP

Je suis un poil tout plein perdu, j'espere avoir était clair car c'est un peu le fouilli dans ma tête smile
Je vous remercie d'avance de votree aide précieuse !

Dernière modification par madrippeur (Le 29/08/2007, à 14:12)

Hors ligne

#2 Le 29/08/2007, à 14:01

Uggy

Re : [RESOLU tres vite !] Shell concatenation de valeur de variables

hummm...
T'es sur que tu veux passer par ton "for (( i=1; i<=$NB; i++ ))" ?
Je sais pas ce que tu veux faire mais je ferais:


for i in `cat /tmp/list`
do
echo "/home/$i"
done

et dans /tmp/list:
moi
toi

Hors ligne

#3 Le 29/08/2007, à 14:07

madrippeur

Re : [RESOLU tres vite !] Shell concatenation de valeur de variables

Coucou smile
Merci de ton aide big_smile

Donc si j'ai bien compris i a pour valeur le mot dans le fichier que tu donne ?

Hors ligne

#4 Le 29/08/2007, à 14:07

cduray

Re : [RESOLU tres vite !] Shell concatenation de valeur de variables

ou sans passer par un fichier:

repertoires="moi toi"

for d in $repertoires
do
  cd /home/cpt 
  echo "je suis dans le répertoire `pwd`"
done

Hors ligne

#5 Le 29/08/2007, à 14:09

cushy007

Re : [RESOLU tres vite !] Shell concatenation de valeur de variables

Salut,

pour passer la valeur contenue dans la variable C1 (ou C2), il faut la faire précéder de "$":

for (( i=1; i<=$NB; i++ ))
do
CPT=$Ci
cd /home/$CPT
done

Par contre, il me semble que pour utiliser i dans le nom de variable, il y a une syntaxe différente avec des accolades mais je ne suis plus sur. Va voir ici:

http://abs.traduc.org/abs-4.2.01-fr/ch09s05.html wink

Dernière modification par cushy007 (Le 29/08/2007, à 14:10)

Hors ligne

#6 Le 29/08/2007, à 14:11

madrippeur

Re : [RESOLU tres vite !] Shell concatenation de valeur de variables

MOUARF !

Vous etes formidables !
Jvais me faire le script avec vos deux version et voir lequel a le plus d'avantages pour mon utilisation.
MMMMEEEERRRRRRCCCCiiii big_smile

Hors ligne

#7 Le 29/08/2007, à 14:42

Uggy

Re : [RESOLU tres vite !] Shell concatenation de valeur de variables

cushy007 a écrit :

pour passer la valeur contenue dans la variable C1 (ou C2), il faut la faire précéder de "$":

CPT=$Ci

M'etonnerais bien que cela puisse fonctionner...
Si la variable est i... le $Ci  va avoir du mal...

Hors ligne