Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3363 connectés 

 


Dernière réponse
Sujet : Script Unix : variable imbriquée , HELP!
jupiler il t'a fallut 26 minutes pour dessiner ca ? :lol:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
jupiler il t'a fallut 26 minutes pour dessiner ca ? :lol:
abethune Ca aurait du ressembler a un "merci"
abethune ___   __     __   °
|\  /|  |     |  \   /     |
| \/ |  |---  |__/  |      |
|    |  |___  |  \   \__   |
jupiler avec l'exemple qui va bien ::
 
 
a=1
c=a
a1=3
eval b=\$$c$a
echo $b
 
 
ca devrait te convenir

 

[jfdsdjhfuetppo]--Message édité par jupiler--[/jfdsdjhfuetppo]

jupiler et ca pas mal aussi :
 
http://www.irit.fr/ACTIVITES/EQ_TC [...] /td15.html
jupiler j'ai trouvé ca par Google:
 
http://www.multimania.com/bombjack [...] comm_e.htm
 

Citation :

Normalement une ligne de saisie n'est éxécutée qu'une seule fois. Mais si une variable contient le nom d'une autre variable, une exploitation unique ne suffit pas. Pour voir le contenu de la seconde variable, il faut éxécuter une deuxième fois cette ligne.
 
Les caractères spéciaux qui ne sont à exploiter qu'une fois doivent éventuellement être masqués. Une utilisation répétée d'eval est possible.
 

abethune meme resultat
jupiler si tu mets direct : eval "\$VER_F${func}" , avec ou sans les doubles quotes, ca donne quoi ?

 

[jfdsdjhfuetppo]--Message édité par jupiler--[/jfdsdjhfuetppo]

abethune on dirait qu'il essaie de trouver une variable du nom "v1.2" avec eval
jupiler essaye valeur=`expr "$var"`
 
pour forcer l'interprétation de $var
 
ou éventuellement avec des simples quotes
 
ou essaye avec eval à la place de expr : eval "$var"

 

[jfdsdjhfuetppo]--Message édité par jupiler--[/jfdsdjhfuetppo]

abethune Il semble qu'avec eval, ca marche un peu mieux:
 
meme exemple:
 
for func in 021 022 023 etc...  
do  
  var="\$VER_F${func}"  
  valeur=`eval $var`  
  echo $valeur  
done  
 
il affiche (lorsqu'il execute la ligne valeur=`eval $var`) v1.2 not found. Il a donc reussi a trouver la valeur. Cependant, il n'a pas affecté le resultat a valeur. donc le dernier echo n'affiche rien.  
Encore un peu d'aide SVP, on n'y est presque.
Merci d'avance.
abethune Ca a pas marché.
J'ai fait
VER_F021=v1.2
VER_F022=v1.4
etc...
 
for func in 021 022 023 etc...
do
   var="\$VER_F${func}"
   valeur=`expr $var`
   echo $valeur
done
 
on a var=$VER_F021
mais echo $valeur affiche $VER_F021.
Merci quand meme
jupiler avec expr ya pas moyen de s'en sortir?
 
par exemple:
 
var="\$var${i}"
 
valeur=`expr $var`
 
ou diectement : valeur=`expr "\$var${i}"`

 

[jfdsdjhfuetppo]--Message édité par jupiler--[/jfdsdjhfuetppo]

abethune :bounce:
abethune Personne n'a d'idée?
Une alternative?
gfive bah.....galère!!  
 
Mais si tu trouves, ça m'intéresse...
Essaie de voir si il n'y a pas moyen de créer des tableaux opu des listes (y'a pas de raison qu'on puisse pas.)
 
Mais la variable imbriquée, vu que c'est un langage de script, y'a pas moyen : y'a qu'une passe d'interprétation : donc, ${${toto}} il peut pas comp^rendre : il va interpreter les $intérieur, et se retrouver comme un con avec son 2° $....
abethune Bonjour,
voici en gros ce que j'aimerais faire:
var1=val1
var2=val2
var3=val3
 
for i in 1 2 3
do
   traitement sur ${var${i}}
done
 
${var${i}}, ca marche pas. Comment on fait? (je suis en bash)
merci d'avance.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)