Bash/shell : export d'une variable que pour un sous processus
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
-
ContributeurSalut,
Ç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 -
Contributeurhello
$ VAR=lalala
$ ( export VAR=autrechose; ./programme ) & -
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.