Bash/shell : export d'une variable que pour un sous processus
gnugo
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je voudrais savoir s'il existe un moyen simple de définir une variable pour un sous processus particulier, et seulement pour lui
Par exemple :
$ VAR=lalala
$ export_pour_fils VAR=autrechose
$ ./programme &
*** programme démarré en utilisant la variable VAR=autrechose
$ echo $VAR
lala
$
J'espère que vous m'aurez compris, merci d'avance pour votre aide :)
Je voudrais savoir s'il existe un moyen simple de définir une variable pour un sous processus particulier, et seulement pour lui
Par exemple :
$ VAR=lalala
$ export_pour_fils VAR=autrechose
$ ./programme &
*** programme démarré en utilisant la variable VAR=autrechose
$ echo $VAR
lala
$
J'espère que vous m'aurez compris, merci d'avance pour votre aide :)
3 réponses
-
PS : l'idée est de faire cela pour donner une variable $LANG différente à un programme, sans modifier $LANG dans le terminal en cours.
-
hello
$ VAR=lalala
$ ( export VAR=autrechose; ./programme ) & -
Salut,
Ça marche aussi avec une fonction et une déclaration locale :
$ cat foo.sh
#!/bin/bash
echo "LANG = ${LANG}"
$ ./foo.sh
LANG = fr_FR.UTF-8
$ loc (){ local LANG=us_US.UTF-8; ./foo.sh ; }
$ loc
LANG = us_US.UTF-8
$ ./foo.sh
LANG = fr_FR.UTF-8