Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/10/2006, 16h29   #1
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
Par défaut Substitution de variable

Bonjour,
Je tente de faire un truc simple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
export MAVAR_ENV_truc="machin"
export UNEVAR="truc"
 
var="MAVAR_ENV_$UNEVAR"
echo $var=MAVAR_ENV_truc
 
# jusque ici, tout va bien
# et la, c'est le drame 
 
echo $$var
9527var
Ne marche pas non plus :

Code :
1
2
echo $($var)
echo ${$var}

Pas de moyen de réaliser une substitution de ce type ?
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2006, 16h37   #2
Membre éprouvé
 
Avatar de Tchetch
 
Inscription : mars 2002
Messages : 401
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2002
Messages : 401
Points : 434
Points : 434
Pourquoi $$var ? Dans bash $$ est le PID du processus en cours (donc bash) !

Tu veux utiliser les tableaux ? Dans ce cas regarde un manuel sur le sujet : http://www.faqs.org/docs/bashman/bashref_71.html
__________________
Mon wiki (on y parle Debian principalement) : http://www.tchetch.net/
Tchetch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2006, 16h45   #3
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
Venant du php ou d'autres languages de script, j'ai pensé que $$truc donnerait la valeur de la valeur truc.

Ici je ne cherche pas à utiliser des tableaux, je souhaite construire var à partir d'une chaine et une variable dynamique :

var="MAVAR_ENV_$UNEVAR"

Et je souhaite pouvoir afficher la valeur défini plus haut si $UNEVAR="truc"
export MAVAR_ENV_truc="machin"

En gros, en php ca donne ca :

Code :
1
2
3
4
5
 
$machine="bidule";
$bidule="truc";
echo $$machine
> truc
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2006, 21h35   #4
Membre éprouvé
 
Avatar de Tchetch
 
Inscription : mars 2002
Messages : 401
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2002
Messages : 401
Points : 434
Points : 434
Voilà, j'ai trouvé la solution
Code :
1
2
3
machin="truc"
truc="je dois voir ça"
eval echo \$$machin
__________________
Mon wiki (on y parle Debian principalement) : http://www.tchetch.net/
Tchetch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2006, 09h37   #5
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
Merci, effectivement ca semble marcher
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h56.


 
 
 
 
Partenaires

Hébergement Web