Comment créer une nouvelle variable d'environnement sous UNIX...?
Comment créer une nouvelle variable d'environnement unix et de l'utiliser dans un programme??????
- Comme Pax dit, il dépend du shell.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez dire ce shell vous êtes en cours d'exécution par
ps -o comm= -p $$
— je pense que c'est plus ou moins universel. Donc, en bash et certaines similaire coquillages...Si vous souhaitez créer une variable pour un run, vous pouvez le faire
Si vous voulez le créer pour l'ensemble d'une session shell (ie. jusqu'à ce que vous vous déconnectez):
...et puis vous pouvez exécuter:
...autant de fois que vous le souhaitez au cours de la session, et il faudra encore voir
MYVAR
comme ayant la valeurvalue
.Si vous voulez qu'il soit pour vous, pour toutes vos sessions de connexion, les mettre dans
~/.profile
.Veuillez noter que bash est d'initialisation, les fichiers peuvent être un bon gros WTF. Selon qu'elle est exécutée de manière interactive, sur un réseau, au niveau local, ET selon qu'elle est invoquée comme
sh
oubash
, il sélectivement lire une combinaison de~/.bashrc
,~/.profile
et~/.bash_profile
. Lire les FICHIERS de la section de labash
page de manuel pour plus de détails.Si vous souhaitez définir pour chaque utilisateur, chaque fois qu'ils se connectent, le mettre dans le fichier
/etc/profile
(bien qu'il y a aussi/etc/environment
, je ne suis pas sûr de la façon largement utilisé qui est.).Découvrez la question "Comment définir la variable d'environnement pour tout le monde sous mon système linux?" pour plus de détails, trop.
(Attention, certains de ces conseils vous permettra de varier en fonction de si vous, ou d'autres utilisateurs, utilisez bash, le tableau de bord, csh, ksh, etc... mais il devrait fonctionner pour la plupart des cas d'utilisation.)
bash
fichiers de configuration.Dépend du shell. Dans
bash
, vous pouvez utiliser:qui va définir la variable et de la rendre disponible à d'autres programmes.
Si vous souhaitez définir pour un invocation d'un programme, vous pouvez utiliser:
Ce sera l'ai mis pour la
myprog
processus, mais pas après sa sortie.Voir setenv(3) et la fonction getenv(3) les fonctions.