Les variables d'environnement ne prendront effet sous Mac OS X

1

J'ai essayé dans les deux sens de définir des variables d'environnement dans Terminal.app, mais cela n'aura aucun effet.

Voici le scénario: Avec le terminal ouvert, j'écris

pico .profile

Puis dans l'éditeur j'entre

export JAVA_HOME="Library/Java/Home"
export PATH=$JAVA_HOME/bin:$PATH

Puis j'appuie sur ctrl+xpour sortir et ysauvegarder. Je sors du terminal et quand je l'ouvre à nouveau et écris

echo $JAVA_HOME

Je ne reçois qu'une ligne vide. Puis-je modifier le .profiled'une autre manière? J'ai essayé toutes les combinaisons possibles pour définir cette variable, mais je continue à avoir une ligne vide. J'ai redémarré le système plusieurs fois sans aucune chance.

madcoderz
la source
1
On dirait que le .profilefichier n'est pas utilisé. Êtes-vous sûr que c'est ce ~/.profilequi est en train d'être modifié? Et les autorisations sont correctes? (Je ne suis pas sûr de savoir quel shell OS X utilise par défaut, mais voici la section pertinente de bash .)
pst
Je viens de remarquer que chaque fois que je sauvegarde, le fichier .profile génère un nouveau fichier à chaque sauvegarde et le nomme profile.save.2 . Le nombre augmente à mesure que je le sauvegarde. Je ne pense pas que c'est vrai. Des idées?
Madcoderz
quel est le résultat de: cat .profile?
j'ai écrit cat .profile et je n'ai aucun fichier ou répertoire de ce type que je fais quelque chose de mal?
madcoderz
En passant, cela fonctionnait lorsque, après avoir mis à jour le système d'exploitation sous OSX Lion, le problème a commencé à se poser.
Madcoderz

Réponses:

2

J'ai résolu ce problème en modifiant le fichier à la ~/.bash_profileplace.

Lorsque vous utilisez pico .profileau lieu de modifier le fichier, ce qui créera un nouveau fichier, j'ai choisi «lire le fichier» (je pense que c'est le cas ctrl=r) et il m'a montré beaucoup de fichiers. De là j'ai choisi .bash_profile.

C'était ma solution. Je ne sais pas si c'est la meilleure solution mais cela a fonctionné pour moi.

madcoderz
la source
Si ~/.bash_profileexiste, bash ne lira pas ~/.profile . Donc, tout ce que vous écrivez ne sera jamais analysé.
Slhck