#1 Le 26/03/2013, à 17:07
- binome-x
Question sur les variables d'environnement
Bonjour,
je suis une procédure d'installation qui me dit d'inclure ce genre de lignes dans mon .bashrc :
export ma_variable=
ma_variable=valeur
export ma_variable
est-ce différent de :
export ma_variable=valeur
Et d'autre part si j'écris
export ma_variable1=
export ma_variable2=
ma_variable1=azerty
ma_variable2=$ma_variable1/uiop
export ma_variable1
export ma_variable2
et que je fais
echo $ma_variable2
j'obtiens
uiopty
alors que je voudrais :
azerty/uiop
Quel est le problème ?
Merci.
Hors ligne
#2 Le 26/03/2013, à 18:00
- Arbiel
Re : Question sur les variables d'environnement
export
export [-fn] [-p] [name[=value]]
Mark each name to be passed to child processes in the environment. If the -f option is supplied, the names refer to shell functions; otherwise the names refer to shell variables. The -n option means to no longer mark each name for export. If no names are supplied, or if the -p option is given, a list of exported names is displayed. The -p option displays output in a form that may be reused as input. If a variable name is followed by =value, the value of the variable is set to value.
The return status is zero unless an invalid option is supplied, one of the names is not a valid shell variable name, or -f is supplied with a name that is not a shell function.
Personnellement, je fais toujours
export variable=valeur
mais le texte ci-dessus semble indiquer que, une fois la variable exportée, toute assignation de valeur à cette variable sera transmise au processus fils.
Tu peux aussi tester en écrivant un petit script
echo ${variable}
Cela va aussi vite que de poser la question sur le forum, et la réponse est obtenue instantanément !!;)
Arbiel
Edit : je viens de faire le test, avec la simple commande export et ce test montre que l'affectation de valeur postérieure à l'ordre export est bien transmis au processus fils.
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#3 Le 26/03/2013, à 18:01
- pingouinux
Re : Question sur les variables d'environnement
Bonjour,
export n'est utile que pour transmettre la variable à un sous-shell.
Les 3 séquences suivantes sont équivalentes :
export var
var=valeur
var=valeur
export var
export var=valeur
Ceci marche très bien chez moi
$ ma_variable1=azerty
$ ma_variable2=$ma_variable1/uiop
$ echo ma_variable2=$ma_variable2
ma_variable2=azerty/uiop
mais il est préférable de faire ceci (à cause d'éventuels espaces)
$ ma_variable1=azerty
$ ma_variable2="$ma_variable1"/uiop
$ echo ma_variable2="$ma_variable2"
ma_variable2=azerty/uiop
Hors ligne
#4 Le 26/03/2013, à 19:24
- Arbiel
Re : Question sur les variables d'environnement
Je n'avais pas très bien compris ta question.
ma_variable2=$ma_variable1/uiop
me donne le résultat que présente pingouinux : "azerty/uiop" et non "uiopty"
Il est probable que tes options bash ne soient pas les mêmes que les nôtres. Quelles sont-elles ?
4.3 Modifying Shell Behavior
The Set Builtin: Change the values of shell attributes and positional parameters.
The Shopt Builtin: Modify shell optional behavior.
Arbiel
Dernière modification par Arbiel (Le 30/03/2013, à 00:46)
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#5 Le 29/03/2013, à 22:13
- binome-x
Re : Question sur les variables d'environnement
Bon, c'était un problème entre les types de fichiers Windows et Linux. Je ne connais pas les détails mais maintenant ça marche.
Hors ligne
#6 Le 29/03/2013, à 22:17
- Arbiel
Re : Question sur les variables d'environnement
c'était un problème entre les types de fichiers Windows et Linux
C'est pour le moins surprenant. Que vient faire Windows là dedans ?
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#7 Le 29/03/2013, à 22:21
- binome-x
Re : Question sur les variables d'environnement
Ben j'avais dû copier des fichiers sous Windows (Ubuntu est une machine virtuelle sur mon ordi du boulot).
Hors ligne
#8 Le 30/03/2013, à 00:48
- Arbiel
Re : Question sur les variables d'environnement
Je ne suis pas du tout convaincu, mais si cette explication te convient, je n'ai rien à ajouter.
Arbiel
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#9 Le 30/03/2013, à 11:38
- binome-x
Re : Question sur les variables d'environnement
Ben non, moi non plus, ça ne me satisfait pas du tout mais pour l'instant je dois bien faire avec.
Hors ligne