Question:
Les chemins bash_profile d'OS X Mavericks ne fonctionnent pas
ndemoreau
2013-10-29 19:20:31 UTC
view on stackexchange narkive permalink

J'ai besoin de créer un nouveau chemin dans OS X Mavericks.

Pour ce faire, j'ai édité .bash_profile:

  export LC_ALL = "en_US.UTF-8" export PGHOST = localhostexport PATH = $ PATH: / usr / local / heroku / binexport PATH = $ PATH: /Applications/Postgres93.app/Contents/MacOS/bin  

Mais ça ne marche pas. Lorsque je tape echo $ PATH, le résultat est:

  /usr/local/heroku/bin:/usr/local/rvm/gems/ruby-2.0.0-p0/bin:/ usr/local/rvm/gems/ruby-2.0.0-p0@global/bin: /usr/local/rvm/rubies/ruby-2.0.0-p0/bin: / usr / local / rvm / bin: / usr /bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/nicolas/.rvm/bin:/usr/local/rvm/bin  

Voici le contenu de mon fichier .bashrc :

  PATH = $ PATH: $ HOME / .rvm / bin # Ajoutez RVM à PATH pour scriptingPATH = $ PATH: / usr / local / rvm / bin # Ajouter RVM à PATH pour le script  

Je n'ai pas (ou ne trouve pas) de fichier .profile .

Qu'est-ce que je fais de mal?

Cinq réponses:
Ɱark Ƭ
2013-10-29 21:34:59 UTC
view on stackexchange narkive permalink

Après avoir modifié le fichier de connexion, vous devez exécuter la commande source sur le fichier de connexion ou créer une nouvelle session de terminal avant que les variables d'environnement mises à jour ne soient disponibles.

Par exemple:

  source .bash_profile  

Je préfère utiliser cette méthode d'ajout au chemin. De cette façon, si le fichier est exécuté plusieurs fois, $ PATH n'ajoute pas de chemins redondants.

  ### DELUXE-HOME-BIN-INSERT # (ne pas supprimer ce commentaire) ## echo $ PATH | grep -q -s "$ {HOME} / bin" si [$? -eq 1]; puis PATH = $ PATH: / bin export PATHfi  
J'ai redémarré le terminal mille fois mais cela n'a pas fonctionné. Taper source .bash_profile à la place a rafraîchi les chemins ... Fou ... J'ai un peu Google et il dit que le redémarrage du terminal ne recharge pas .bashrc mais est censé recharger .bash_profile. Puis-je faire quelque chose pour recharger automatiquement bash_profile chaque fois que je redémarre le terminal?
Je pense que le problème était dû au fait que j'utilise zsh. J'ai ajouté la source .bash_profile dans le fichier .zshrc et il semble s'actualiser correctement maintenant. Merci de votre aide!
qu'avez-vous ajouté exactement et comment? avez-vous juste inséré ".bash_profile" quelque part dans le fichier?
`.bash_profile` s'applique uniquement au shell bash. Si vous utilisez zsh, vous devez apporter des modifications PATH aux fichiers liés à zsh, comme `.zshrc`,` .zprofile` et `.zlogin`. Votre Mac est livré avec plusieurs shells, dont bash, zsh et quelques autres. Chaque shell utilise son propre ensemble de fichiers de configuration, et vous pouvez ouvrir deux shells différents en même temps dans différents onglets dans Terminal ou iTerm. Au lieu de rechercher `.bash_profile` dans votre` .zshrc`, vous devriez définir le PATH dans votre `.zshrc` pour garder les shells indépendants les uns des autres.
user69044
2014-01-30 21:00:26 UTC
view on stackexchange narkive permalink

J'ai réussi à ajouter un chemin sur Mavericks en procédant comme suit:

  sudo vi / etc / chemins  

Cela ouvre le fichier appelé chemins qui inclut tous les chemins locaux, etc. À la fin de ce fichier, j'ai ajouté le chemin que je voulais en utilisant l'éditeur vi comme indiqué dans la commande ci-dessus. J'ai simplement ajouté une ligne telle que /Applications/blabla/my_bin.

Il vous demandera votre mot de passe et après cela, c'est fait. Cela a fonctionné pour moi, j'espère en faire de même pour vous.

Travis Reeder
2014-10-23 10:30:39 UTC
view on stackexchange narkive permalink

Ajoutez ceci à votre fichier .zshrc :

  if [-f ~ / .bash_profile]; puis . ~ / .bash_profile; fi  

Cela chargera votre .bash_profile pendant le chargement de zsh car il ne le charge pas par défaut.

user1256923
2013-10-29 21:30:35 UTC
view on stackexchange narkive permalink

Outre le fait que vous pouvez simplement créer un fichier .profile , en ajoutant des éléments au chemin, puisque Snow Leopard ou Lion (très probablement SL) se fait en ajoutant des éléments aux chemins . d .

  ls /etc/path*/etc/paths/etc/paths.d:40-XQuartz MacGPG2 TeX julia  

c'est à dire allez à /etc/paths.d/

touchez un fichier appelé n'importe quel_programme_I_want_to_add_to_the_path , puis modifiez-le pour avoir le chemin au programme:

  cat /etc/paths.d/julia/usr/local/juliacat /etc/paths.d/TeX/usr/texbin  

Fermez le terminal et redémarrez-le.

`paths.d` est pour les paramètres à l'échelle du système. Cela ne rend pas le paramétrage direct de `PATH` obsolète ou impossible.
Puis-je l'utiliser pour définir le chemin d'accès à un répertoire? Juste pour être sûr de bien comprendre: je créerais alors un fichier appelé "postgres" et ajouterais cette ligne dans le fichier: /Applications/Postgres93.app/Contents/MacOS/bin?
oui, c'est comme ça que ça se fait maintenant dans les versions récentes d'OSX
bronson
2014-07-24 23:29:36 UTC
view on stackexchange narkive permalink

Si vous essayez de définir des chemins / variables / complétions / etc en utilisant la substitution de processus sur Mavericks, comme ceci:

 . < (achèvement npm)  

Cela ne fonctionnera pas: https://lists.gnu.org/archive/html/bug-bash/2006-01/msg00018.html Bash refuse de se procurer à partir de / dev / fds.

Fondamentalement, le bash de Mavericks est bien trop ancien. Installez et configurez votre compte pour utiliser un nouveau bash, ou réécrivez votre script pour utiliser des fichiers temporaires ou des processus nommés. Voici un exemple laid de réécriture: dotfiles commit

(ajouté pour les autres chercheurs Google qui tombent sur cette page)



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...