Comment créer une nouvelle variable d'environnement dans unix et l'utiliser dans un programme ??????Comment créer une nouvelle variable d'environnement sous UNIX ....?
Répondre
Dépend de la coque. En bash
, vous pouvez utiliser:
export myvar=xyz
qui la variable et le rendre disponible à d'autres programmes.
Si vous voulez le définir pour une invocation d'un programme, vous pouvez utiliser:
myvar=xyz ./myprog
Cela l'aura défini pour le processus myprog
mais pas après sa sortie.
Voir les fonctions setenv (3) et getenv (3).
Vous pouvez dire quel shell vous exécutez par ps -o comm= -p $$
- Je pense que c'est plus ou moins universel. Ainsi, en bash et certains coquillages similaires ...
Si vous voulez créer la variable pour une course spécifique, vous pouvez le faire
MYVAR=value the_command_that_needs_myvar
Si vous voulez créer une session shell ensemble (c.-à- . jusqu'à ce que vous vous déconnectez):
export MYVAR=value
... et vous pouvez exécuter:
the_command_that_needs_myvar
... autant de fois que yo Vous aimez pendant cette session, et il verra toujours MYVAR
comme ayant la valeur value
.
Si vous voulez qu'il soit défini pour vous-même, pour toutes vos sessions de connexion, mettez-le en ~/.profile
.
Veuillez noter que les fichiers d'initialisation de bash peuvent être un très gros WTF. Selon qu'il est exécuté de manière interactive, sur un réseau, localement, ET selon qu'il est appelé sh
ou bash
, il lit de manière sélective une combinaison de ~/.bashrc
, ~/.profile
et ~/.bash_profile
. Lisez la section FICHIERS de la page de manuel bash
pour plus de détails. Si vous voulez qu'il soit défini pour chaque utilisateur, à chaque fois qu'il se connecte, placez-le dans le fichier /etc/profile
(bien qu'il y ait aussi /etc/environment
, je ne suis pas sûr de la façon dont il est largement utilisé).
Consultez aussi la fiche "How to set environment variable for everyone under my linux system?" pour plus d'informations.
(prenez garde, certains de ces conseils variera en fonction de si vous, ou d'autres utilisateurs, utilisez bash, tableau de bord, csh, ksh, etc ... mais cela devrait fonctionner pour la plupart des cas d'utilisation.)
En effet, trier si utiliser/etc/environnement,/etc/profile, ~/.profile, ~/.kshrc, ~/.cshrc, ~/.bash_profile, ~/.bash_login, ~/.bashrc et tous les d'autres possibilités ne sont pas pour les faibles de cœur :-) – paxdiablo
Cela me fait penser à [The UNIX Hater's Handbook] (http://www.art.net/~hopkins/Don/unix-haters/handbook.html) - certainement WTFery restes du mauvais vieux temps. J'ai ajouté un peu sur les fichiers de configuration personnels 'bash'. – detly
- 1. Comment créer un progiciel sous Unix/Linux
- 2. Comment créer un thread sous UNIX?
- 3. Sous Unix, comment créer un fichier dans un chemin absolu
- 4. Créer une nouvelle variable comme nom d'entrée dans Python?
- 5. php: comment créer une nouvelle forme
- 6. Comment changer mon chemin gdb sous Unix?
- 7. Comment créer des sockets réseau persistants sous Unix dans Ruby?
- 8. comment créer une nouvelle variante dans bjam
- 9. UNIX, obtiennent variable d'environnement
- 10. comment créer une variable unique
- 11. Comment utiliser CVS sous Unix
- 12. XSLT créer une nouvelle balise HTML
- 13. Comment extraire une sous-chaîne correspondant à un motif à partir d'une variable de shell Unix
- 14. Comment affectez-vous la valeur d'un paramètre à une variable sous UNIX?
- 15. Comment incrémenter une variable Entier par X sans créer une nouvelle instance d'objet
- 16. Créer une nouvelle colonne dynamiquement
- 17. Transmettre une variable à une nouvelle page
- 18. tuyauterie sous UNIX doute
- 19. Multiprogrammation sous Unix
- 20. Comment egrep script shell Unix variable
- 21. créer des tables sous UNIX en utilisant tbl troff/nroff
- 22. MATLAB créer une nouvelle colonne
- 23. Multithreading - Synchronisation sous Unix
- 24. Code optimisé sous Unix?
- 25. Commande aide sous UNIX
- 26. processus système sous Unix
- 27. caractère spécial sous UNIX
- 28. Comment imprimer une valeur hexadécimale de 255 sous Unix?
- 29. Comment utiliser pow() & sqrt() sous UNix?
- 30. comment diffuser des données sous UNIX
PAX dit, cela dépend de la coquille. – Alan