Ta question c'est : "comment créer une variable d'environnement de manière à ce que les applis déja lancées puissent y accéder ?".
La réponse est : "C'est pas possible directement." (ou alors faut m'expliquer). Quand tu lances un processus, il récupère l'environnement de son père, donc (entre autres) les variables exportées. Après coup, il ne peut plus récupérer celles déclarées après. Mais il peut créer ses propres varialbes et les exporter à ses fils. C'est vrai qu'on pourrait envisager de créer des variables dans le lanceur de KDE par exemple (un peu comme les propriétés de Windows) et que tous les programmes lancés par la suite puissent y accéder. Mais pour les programmes déja lancés se serait pas possible.
Par contre, tu peux placer tes variables (et les exporter) dans ton .bash_profile, faire dans une console déja ouverte . .bash_profile ce qui va avoir pour effet d'incorporer tout le contenu dans l'environnement courant (celui du shell). Si depuis ce shell tu lances ensuite un autre processus, alors il aura accès au contenu de tes nouvelles variables exportées.
Ne pas oublier aussi que comme l'environnement est dupliqué, on obtient une copie de la valeur de la variable. Dans le fils, si tu modifie sa valeur, ce n'est pas répercuté chez le père (ou les autres)...
# Apprendre Unix ?
Posté par Sébastien Rohaut (site web personnel) . En réponse au journal la variable d'environnement PATH. Évalué à 10.
Ta question c'est : "comment créer une variable d'environnement de manière à ce que les applis déja lancées puissent y accéder ?".
La réponse est : "C'est pas possible directement." (ou alors faut m'expliquer). Quand tu lances un processus, il récupère l'environnement de son père, donc (entre autres) les variables exportées. Après coup, il ne peut plus récupérer celles déclarées après. Mais il peut créer ses propres varialbes et les exporter à ses fils. C'est vrai qu'on pourrait envisager de créer des variables dans le lanceur de KDE par exemple (un peu comme les propriétés de Windows) et que tous les programmes lancés par la suite puissent y accéder. Mais pour les programmes déja lancés se serait pas possible.
Par contre, tu peux placer tes variables (et les exporter) dans ton .bash_profile, faire dans une console déja ouverte . .bash_profile ce qui va avoir pour effet d'incorporer tout le contenu dans l'environnement courant (celui du shell). Si depuis ce shell tu lances ensuite un autre processus, alors il aura accès au contenu de tes nouvelles variables exportées.
Ne pas oublier aussi que comme l'environnement est dupliqué, on obtient une copie de la valeur de la variable. Dans le fils, si tu modifie sa valeur, ce n'est pas répercuté chez le père (ou les autres)...