Quand quelqu'un dit "éditez votre fichier .plist" ou "votre .profile" ou ".bash_profile" etc, cela me confond tout simplement. Je n'ai aucune idée où se trouvent ces fichiers, comment les créer si je dois le faire, etc., et aussi pourquoi il semble y en avoir tellement différents (pourquoi? Font-ils des choses différentes?)
Alors, quelqu'un pourrait-il expliquer très patiemment à un ancien utilisateur de Windows (souhaitant désespérément se familiariser avec le monde OS X agréable mais initialement un peu déroutant) comment procéder étape par étape?
J'ai besoin que les variables soient définies à la fois pour les applications GUI et les applications en ligne de commande, et pour le moment c'est pour un script ant qui a besoin des variables, mais il y aura très probablement d'autres besoins aussi.
Veuillez noter que j'ai aussi Lion, car la plupart des réponses que vous obtenez sur Google semblent obsolètes pour Lion ...
Notez également que je n'ai pratiquement aucune expérience d'utilisation du terminal. Je suis prêt à apprendre, mais veuillez expliquer pour un novice ...
Réponses:
Tout d'abord, une chose à reconnaître à propos d'OS X est qu'il est construit sur Unix. C'est là que le fichier .bash_profile entre en jeu. Lorsque vous démarrez l'application Terminal sous OS X, vous obtenez un shell bash par défaut. Le shell bash provient d'Unix et lorsqu'il se charge, il exécute le script .bash_profile. Vous pouvez modifier ce script pour que votre utilisateur modifie vos paramètres. Ce fichier se trouve à:
Mise à jour pour Mavericks
OS X Mavericks n'utilise pas le fichier environment.plist - du moins pas pour les applications Windows OS X. Vous pouvez utiliser la configuration launchd pour les applications fenêtrées. Le .bash_profile est toujours pris en charge car il fait partie du shell bash utilisé dans Terminal.
Lion et Lion de montagne uniquement
Les applications fenêtrées OS X reçoivent des variables d'environnement à partir de votre fichier environment.plist. C'est probablement ce que vous entendez par le fichier ".plist". Ce fichier se trouve à:
Si vous modifiez votre fichier environment.plist, les applications Windows OS X, y compris l'application Terminal, verront ces variables d'environnement définies. Toute variable d'environnement que vous définissez dans votre .bash_profile n'affectera que vos shells bash.
En général, je ne définis que des variables dans mon fichier .bash_profile et ne modifie pas le fichier .plist (ou le fichier launchd sur Mavericks). La plupart des applications fenêtrées OS X ne nécessitent aucun environnement personnalisé. Ce n'est que lorsqu'une application a réellement besoin d'une variable d'environnement spécifique que je change le fichier environment.plist (ou launchd sur Mavericks).
Il semble que vous souhaitiez modifier le fichier environment.plist plutôt que le fichier .bash_profile.
Une dernière chose, si vous recherchez ces fichiers, je pense que vous ne les trouverez pas. Si je me souviens bien, ils n'étaient pas sur ma première installation de Lion.
Modifier: voici quelques instructions pour créer un fichier plist.
Pour modifier le fichier, vous pouvez cliquer tout en maintenant la touche Ctrl enfoncée pour obtenir un menu et sélectionner Ajouter une ligne. Vous pouvez ensuite ajouter une paire de valeurs clés. Pour les variables d'environnement, la clé est le nom de la variable d'environnement et la valeur est la valeur réelle de cette variable d'environnement.
Une fois le fichier plist créé, vous pouvez l'ouvrir avec Xcode pour le modifier à tout moment.
la source
~/.bashrc
.~/.bashrc
Le fichier s'exécute à chaque fois que vous ouvrez un nouveau shell bash sans connexion tel que xterm / aterm, et~/.bash_profile
ne s'exécute qu'avec des shells de connexion, c'est-à-dire lorsque vous vous connectez pour la première fois au système.Vos
.profile
ou.bash_profile
sont simplement des fichiers présents dans votre dossier "home". Si vous ouvrez une fenêtre du Finder et cliquez sur le nom de votre compte dans le volet Favoris, vous ne les verrez pas. Si vous ouvrez une fenêtre de terminal et tapezls
pour répertorier les fichiers, vous ne les verrez toujours pas. Cependant, vous pouvez les trouver en utilisantls -a
dans le terminal. Ou si vous ouvrez votre éditeur de texte préféré (dites TextEdit car il est livré avec OS X) et faites Fichier-> Ouvrir, puis appuyez sur Command+ Shift+ .et cliquez sur le nom de votre compte (dossier personnel), vous les verrez également. Si vous ne les voyez pas, vous pouvez en créer un dans votre éditeur de texte préféré.Maintenant, l'ajout de variables d'environnement est relativement simple et remarquablement similaire aux fenêtres conceptuellement. Dans votre
.profile
juste ajouter, un par ligne, le nom de la variable et sa valeur comme suit:etc.
Si vous modifiez votre variable "PATH", assurez-vous d'inclure le PATH par défaut du système qui a déjà été défini pour vous:
Voici maintenant la partie originale, vous pouvez soit ouvrir une nouvelle fenêtre de terminal pour que les nouvelles variables prennent effet, soit vous devrez taper
.profile
ou.bash_profile
recharger le fichier et appliquer le contenu à l'environnement de votre terminal actuel.Vous pouvez vérifier que vos modifications ont pris effet à l'aide de la commande "set" de votre terminal. Tapez simplement
set
(ouset | more
si vous préférez une liste paginée) et assurez-vous que ce que vous avez ajouté au fichier est là.Quant à l'ajout de variables d'environnement aux applications GUI, cela n'est normalement pas nécessaire et j'aimerais en savoir plus sur ce que vous essayez spécifiquement de faire pour mieux vous donner une réponse.
la source
. .profile
pour les charger..profile
. Je viens de jeter un œil à une machine que j'ai récemment achetée et ils semblent utiliser.profile
ces jours-ci et non.bash_profile
Voici un peu plus d'informations concernant spécifiquement la variable PATH dans Lion OS 10.7.x:
Si vous devez définir le PATH globalement, le PATH est construit par le système dans l'ordre suivant:
/private/etc/paths
, un chemin par ligne/private/etc/paths.d
. Chaque fichier de ce dossier peut contenir plusieurs chemins, un chemin par ligne. L'ordre de chargement est d'abord déterminé par le nom du fichier, puis par l'ordre des lignes dans le fichier.setenv PATH
instruction in/private/etc/launchd.conf
, qui ajoutera ce chemin au chemin déjà construit dans # 1 et # 2 (vous ne devez pas utiliser $ PATH pour référencer la variable PATH qui a été construite jusqu'à présent). Mais, définir le PATH ici est complètement inutile étant donné les deux autres options, bien que ce soit l'endroit où d'autres variables d'environnement global peuvent être définies pour tous les utilisateurs.Ces chemins et variables sont hérités par tous les utilisateurs et applications, ils sont donc vraiment globaux - la déconnexion et la connexion ne réinitialiseront pas ces chemins - ils sont conçus pour le système et sont créés avant que tout utilisateur ait la possibilité de se connecter, les modifications de ces derniers nécessitent donc un redémarrage du système pour prendre effet.
BTW, une installation propre d'OS 10.7.x Lion n'en a pas
environment.plist
que je puisse trouver, donc cela peut fonctionner mais peut également être déconseillé.la source
paths.d
diffère-paths
t-il? De même, le premier l'emporte-t-il sur le second?il imprime la valeur actuelle du chemin
Ensuite, faites
vim ~/.bash_profile
et écrivezici vous ajoutez à l'ancien chemin, donc conserve l'ancien chemin et y ajoute votre nouveau chemin
alors fais
cela l'exécutera et ajoutera le chemin
puis vérifiez à nouveau avec
la source
Malheureusement, aucune de ces réponses n'a résolu le problème spécifique que j'avais.
Voici une solution simple sans avoir à jouer avec
bash
. Dans mon cas, ça se mettaitgradle
au travail (pourAndroid Studio
).Btw, Ces étapes concernent OSX (Mountain Lion 10.8.5)
Exécutez la commande suivante:
sudo nano /etc/paths
(ousudo vim /etc/paths
pour vim)Ouvrez une nouvelle fenêtre de terminal puis tapez:
echo $PATH
Vous devriez voir le nouveau chemin ajouté à la fin du CHEMIN
J'ai obtenu ces détails de ce post:
http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q
J'espère que cela peut aider quelqu'un d'autre
la source
Explication simplifiée
Ce post / question est un peu ancien, je vais donc répondre à une version simplifiée pour les utilisateurs d'OS X Lion. Par défaut, OSX Lion ne possède aucun des fichiers suivants:
Tout au plus, si vous avez fait quelque chose dans le terminal, vous pourriez voir ~ / .bash_history
Ce que cela veut dire
Vous devez créer le fichier pour définir vos commandes bash par défaut (généralement dans ~ / .bashrc). Pour ce faire, utilisez n'importe quel éditeur, bien qu'il soit plus simple de le faire dans le terminal:
source ~/.bashrc
Ctrl + x Ctrl + s
(pour enregistrer le fichier)Ctrl + x Ctrl + c
(pour fermer emacs)La prochaine fois que vous quitterez et rechargerez le terminal, il devrait charger toutes vos préférences bash. Pour faire bonne mesure, c'est généralement une bonne idée de séparer vos commandes en noms de fichiers utiles. Par exemple, depuis ~ / .bashrc, vous devriez avoir un
source ~/.bash_aliases
et mettre toutes vos commandes d'alias dans ~ / .bash_aliases.la source
Ce qui a fonctionné pour moi, c'est de créer un
.launchd.conf
avec les variables dont j'avais besoin:Ce fichier est lu par launchd lors de la connexion. Vous pouvez ajouter une variable «à la volée» au launchd en cours d'exécution en utilisant:
En fait,
.launchd.cond
contient simplement les commandes launchctl.Les variables définies de cette manière semblent être présentes correctement dans les applications GUI.
Si vous essayez de définir vos variables LANG ou LC_ de cette manière et que vous utilisez iTerm2, assurez-vous de désactiver le paramètre `` Définir automatiquement les variables locales '' sous l'onglet Terminal du profil que vous utilisez. Cela semble remplacer les variables d'environnement de launchd, et dans mon cas, la définition d'un LC_CTYPE cassé provoquait des problèmes sur les serveurs distants (qui ont passé la variable).
(L'environnement.plist semble toujours fonctionner sur mon Lion. Vous pouvez utiliser le volet de préférences de RCenvironment pour conserver le fichier au lieu de le modifier manuellement ou de Xcode requis. Il semble toujours fonctionner sur Lion, bien que sa dernière mise à jour soit de Snow Leopard. en fait ma méthode préférée.)
la source
Configurez votre variable d'environnement PATH sous Mac OS
Ouvrez le programme Terminal (il se trouve dans votre dossier Applications / Utilites par défaut). Exécutez la commande suivante
Cela ouvrira le fichier dans votre éditeur de texte par défaut.
Pour ANDROID SDK comme exemple:
Vous devez ajouter le chemin d'accès à votre répertoire d'outils et de plateforme SDK Android. Dans mon exemple, j'utiliserai "/ Development / android-sdk-macosx" comme répertoire d'installation du SDK. Ajoutez la ligne suivante:
Enregistrez le fichier et quittez l'éditeur de texte. Exécutez votre .bash_profile pour mettre à jour votre PATH.
Maintenant, à chaque fois que vous ouvrez le programme Terminal, votre PATH inclura le SDK Android.
la source
Ajout de variables de chemin à OS X Lion
Cela a été assez simple et a fonctionné pour moi, dans le terminal:
Une réponse similaire était ici: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516
la source
cd
sans argument oucd ~/
.source .bash_profile
.echo "export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin/mysql" >> .bash_profile
La seule fois où je peux le faire,mysql -u root -p
c'est si je suis déjà en cours d'exécution à la racine. Alors que je peux utiliserApplications/XAMPP/xamppfiles/bin/mysql -u root -p
n'importe où. J'ai essayé les deux approches de redémarrage mentionnées: Yaw's et @ ephsmith's./usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/XAMPP/xamppfiles/bin
. Quand je ne suis pas root, je reçois/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$PATH
variable est spécifique à l'utilisateur (root est un utilisateur).Terminal ouvert:
Appliquer la modification au système (pas besoin de redémarrer l'ordinateur):
(Fonctionne également avec macOS Sierra 10.12.1)
la source
J'ai eu un problème avec Eclipse (commencé en tant qu'interface graphique, pas à partir d'un script) sur Maverics, car il ne prenait pas de chemin personnalisé. J'ai essayé toutes les méthodes mentionnées ci-dessus en vain. Enfin, j'ai trouvé la réponse de travail la plus simple basée sur des indices d' ici :
Accédez au dossier /Applications/eclipse/Eclipse.app/Contents
Editez le fichier Info.plist avec l'éditeur de texte (ou XCode), ajoutez le dictionnaire LSEnvironment pour la variable d'environnement avec le chemin complet . Notez qu'il inclut également / usr / bin etc:
Recharger les paramètres de l'application avec
Redémarrez Eclipse
la source
Permettez-moi de vous illustrer mon exemple personnel de manière très redondante.
Parfois, macOS ou Linux configure automatiquement une variable d'environnement pour vous contrairement à Windows. Mais ce n'est pas toujours le cas. Alors vérifions-le. La ligne immédiatement après echo $ JAVA_HOME serait vide si la variable d'environnement n'est pas définie. Il doit être vide dans votre étui.
Maintenant, nous devons vérifier si nous avons un fichier bash_profile. Vous avez vu que dans mon cas, nous avons déjà bash_profile. Sinon, nous devons créer un fichier bash_profile.
Créez un fichier bash_profile.
Vérifiez à nouveau pour vous assurer que le fichier bash_profile est là.
Ouvrons maintenant le fichier bash_profile. macOS l'ouvre en utilisant son programme TextEdit par défaut.
Il s'agit du fichier dans lequel les variables d'environnement sont conservées. Si vous avez ouvert un nouveau fichier bash_profile, il doit être vide. Dans mon cas, il était déjà défini pour le langage de programmation python et la distribution Anaconda. Maintenant, j'ai besoin d'ajouter une variable d'environnement pour Java qui vient d'ajouter la première ligne. VOUS DEVEZ TAPER la première ligne VERBATIM. JUSTE la première ligne. Enregistrez et fermez TextEdit. Fermez ensuite le terminal.
Ouvrez à nouveau le terminal. Vérifions si la variable d'environnement est configurée.
la source
J'ai pris la route idiote. Ajouté à la fin de / etc / profile
créé un dossier / etc / environnements créer un fichier appelé "oracle" ou "n'importe quoi" et y ajouter les éléments que je devais définir globalement.
/ etc $ cat /etc/environments.d/Oracle
la source
Plus de détails, qui peuvent peut-être être utiles à quelqu'un:
En raison de mes propres explorations, je sais maintenant comment définir des variables d'environnement de 7 sur 8 façons différentes. J'essayais de faire passer un envar à une application que je développe sous Xcode. J'ai défini des envars "traceurs" à l'aide de ces différentes méthodes pour me dire lesquelles entrer dans le champ d'application de mon application. Ci-dessous, vous pouvez voir que l'édition du "schéma" dans Xcode pour ajouter des arguments fonctionne, tout comme "putenv". Ce qui ne l'a pas défini dans cette étendue: ~ / .MACOS / environment.plist, plist spécifique à l'application, .profile et l'ajout d'une phase de construction pour exécuter un script personnalisé (j'ai trouvé une autre façon dans Xcode [au moins] pour définir un mais j'ai oublié ce que j'ai appelé le traceur et je ne le trouve pas maintenant; c'est peut-être sur une autre machine ....)
GPU_DUMP_DEVICE_KERNEL a 3 ans
GPU_DUMP_TRK_ENVPLIST est (null)
GPU_DUMP_TRK_APPPLIST est (null)
GPU_DUMP_TRK_DOTPROFILE est (null)
GPU_DUMP_TRK_RUNSCRIPT est (null)
GPU_DUMP_TRK_SCHARGS vaut 1
GPU_DUMP_TRK_PUTENV vaut 1
... d'autre part, si je vais dans Terminal et dise "set", il semble que le seul qu'il obtienne soit celui de .profile (j'aurais pensé qu'il ramasserait environment.plist aussi, et je suis bien sûr, une fois que j'ai vu un deuxième envar traceur dans Terminal, donc quelque chose est probablement devenu chancelant depuis. Longue journée ....)
la source
Étape 1: ouvrir
~/.bash_profile
Maintenant, un éditeur de texte s'ouvre:
Étape 2: le nom de la variable doit être en majuscules. dans cet exemple, la variable est
NODE_ENV
Étape 3:
export NODE_ENV=development
Enregistrez-le et fermez.
Redémarrez votre système.
Terminé.
Pour vérifier la variable env: ouvrez le terminal et tapez
la source
Il est recommandé de vérifier le shell du terminal par défaut avant de définir les variables d'environnement, via les commandes suivantes:
Si votre terminal par défaut est / bin / zsh (Z Shell) comme dans mon cas (personnellement, préférez Z Shell), vous devez définir ces variables d'environnement dans le fichier ~ / .zshenv avec le contenu suivant (dans cet exemple, définir la variable d'environnement JAVA_HOME , mais il en va de même pour les autres):
De même, pour tout autre type de terminal non mentionné ci-dessus, vous devez définir la variable d'environnement dans son fichier env de terminal respectif.
la source