Variable d'environnement

JoJoS

Membre actif
23 Août 2005
144
3
Bonsoir à tous !!

Je cherche depuis un bon moment mais je n'arrive pas à trouver...
Comment peut on enregistrer une variable d'environnement ???

Si je fait dans un terminal
Bloc de code:
env name=value
Ca m'applique bien la variable, mais si je tape par la suite env, plus rien...

Comment dois-je m'y prendre???

Je n'arrive vraiment pas à trouver...

Merci !!
 
Si tu es en bash, il te faut utiliser "export name=value".
 
Ca marche à moitié... Si je quitte mon terminal et que j'en relance 1, il n'est plus en mémoire...
 
C'est normal ça. ;)

Crée un fichier .bash_profile dans ~ et place tes export dedans.
 
Ok !! J'essayerai ca dès que possible !!

Donc pour ensuite retirer/ajouter des variables il me suffit de modifier ce fichiers?

En tout cas merci !
 
Ok !! J'essayerai ca dès que possible !!

Donc pour ensuite retirer/ajouter des variables il me suffit de modifier ce fichiers?

En tout cas merci !
Oui c'est ça il suffirat de modifier ce fichier, mais regarde via le terminal si il n'existe pas déjà, histoire de ne pas écraser un fichier qui contient des données dont ont besoin certaines de tes appli (MacPorts par exemple) :)
 
Ce que je fais, parfois, est d'écrire mes aliases et variables d'environnement dans un fichier personnel (.myaliases par exemple) dans mon home directory et je me contente d'ajouter
Bloc de code:
. ~/.myaliases
dans le fichier de profil.
C'est plus facile à gérer de cette manière, je trouve
 
Ce que je fais, parfois, est d'écrire mes aliases et variables d'environnement dans un fichier personnel (.myaliases par exemple) dans mon home directory et je me contente d'ajouter
Bloc de code:
. ~/.myaliases
dans le fichier de profil.
C'est plus facile à gérer de cette manière, je trouve
pas con, et plus propre en plus (je trouve), je vais le faire chez moi :)
 
Bonsoir !!!

Bon j'ai mis du temps pour essayer, mais voilà, je l'ai enfin fait !!!
Et je n'y suis pas parvenu...

J'ai créé un fichier .bash_profile dans mon repertoire utilisateur (il n'y en avait pas).
Mais je n'arrive pas à rtrouver mes variables...
Je tiens à signaler que je ne connais absolument rien en environnement Linux/Unix et donc en bash os x...

Voici la syntaxe que j'ai utilisé :

NOM_VARIABLE = VALEUR_VARIABLE
 
C'est bon !!! Je viens enfin d'y parvenir !!
Faire le fichier .bash_profile était pas mal, mais il manquait une commande à réaliser :
$ source .bash_profile

D'ailleurs, si queqlu'un peut m'expliquer à quoi cela sert réellement...
Et aussi comment revenir en arriere...

En tout cas merci de l'aide !!!

[EDIT]
Ouais et ba en fait, ca marche moyen... Bref, je comprends vraiment rien à l'environement unix moi...
 
C'est bon !!! Je viens enfin d'y parvenir !!
Faire le fichier .bash_profile était pas mal, mais il manquait une commande à réaliser :
$ source .bash_profile
Si votre shell par défaut est bash, il va directement chercher les fichiers .bashrc, .bash_profile et .profile dans votre $HOME. S'ils existent, à son lancement il charge en mémoire ce qui s'y trouve. Donc la commande 'source .bash_profile' était inutile.
 
Bin c'est la seul facon que j'ai trouvé pour réussir à voir ma variable en tapant

echo $MA_VARIABLE

Mais c'est pénible, j'ai un fichier makefile qui a besoin de ma variable, mais il ne la trouve pas...
 
Bin c'est la seul facon que j'ai trouvé pour réussir à voir ma variable en tapant

echo $MA_VARIABLE

Mais c'est pénible, j'ai un fichier makefile qui a besoin de ma variable, mais il ne la trouve pas...

Vous êtes sûr d'avoir bien défini la variable comme l'indique molgow ? Exemples :
Bloc de code:
export LANG=fr_FR
export LC_ALL=fr_FR
export DISPLAY=:0
export TERM=xterm-color
Essayez de voir si vous avez un fichier ~/.profile, et mettez vos variable dedans, ou encore suivez la méthode indiquée par bompi.
 
on peut mixer entre differents shell
ici un tcsh

Bloc de code:
set path = ( $path /usr/local/bin /usr/local/sbin  )

setenv PATH /bin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin

setenv LD_LIBRARY_PATH /usr/lib:/usr/local/lib
#/usr/X11R6/lib


setenv DYLD_LIBRARY_PATH ${LD_LIBRARY_PATH}

setenv MANPATH /usr/share/man:/usr/local/man:/usr/X11R6/man

setenv CLASSPATH /System/Library/Frameworks/JavaVM.framework/Home

if ( $?prompt ) then 
    alias lsc 'ls -laG'
    alias mre 'more'
    alias mdr 'mkdir'
    alias clr 'clear'
    alias safari 'open -a Safari'
    alias firefox 'open -a Firefox'
    alias preview 'open -a Preview'
    alias itunes 'open -a iTunes'
    alias ichat 'open -a iChat'
    alias iphoto 'open -a iPhoto'
    alias emptytrash 'rm -fR ~/.Trash/*'
endif

Bloc de code:
export PATH=$PATH:/opt/local/bin
 
Bonsoir à tous et merci de votre aide !

Bon voilà, après tous ces efforts, j'ai enfin réussi à obtenir à peu près ce que je souhaitais.
En fait, j'ai réussi en créant un fichier .basrc sous ~, sinon le reste fonctonnait pas...
Ca marche très bien sous X11, mais j'ai un drôle de problème sous Termianl qui m'empêche de vérifier si ça fonctionne.

En revanche, avec Xcode, ca ne semble pas être pris en compte... C'est vraiment galère...

En tout cas, merci encore !!!
 
Pour que les variables d'environnement soient connues des applications graphiques, il faut qu'elles soient définies à un niveau plus global, ce qui n'est pas forcément une bonne chose.
Ou alors en suivant les préconisations d'Apple, ce qui est mieux.
Note que cela devrait te convenir pour tes variables d'environnement simples (mavariable=unevaleur) mais pas pour celles définies d'après d'autres (mavariable=monautrevariable).
 
Cool !!! Merci, je ne parvenais pas à trouver ce genre de document sur le site d'apple. La c'est bien plus clair !
Je testerai ca ce soir !!!

Au fait, mon problème du Terminal est assez pénible... Peut être que vous aurez une idée...
Lorsque je lance un terminal, la fenetre est on ne peut plus petite. Elle fait juste la taille du bouton fermeture. Impossible de redimentionner la taille de la fenetre, je peux juste la fermer.
J'ai essayer d'utiliser le terminal à travers un autre compte, et ca a parfaitement fonctionné.
A votre avis, ca peut provenir de quoi???

Pour info, j'ai essayer de faire un programme qui se lance sous le terminal avec Xcode. Et ca m'a afficher cette mini-fenêtre en voulant le lancer.
 
Quitte le Terminal et vire les préférences de l'application (elles sont dans ~/Library/Preferences). Puis redémarre-le.
 
J'y ai pensé.. J'ai virer toutes les preferences du terminal. Mais ca n'a rien changé... C'est vraiment étrange.