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
-
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.
-
Contributeurhello
$ VAR=lalala
$ ( export VAR=autrechose; ./programme ) & -
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