14 votes

Comment ajouter un chemin à la variable d'environnement PATH ?

Je veux ajouter un chemin d'accès à la PATH variable d'environnement ?

J'ai essayé avec export PATH=/mypath:$PATH et ça marche. Mais la prochaine fois que je démarre le terminal, mon nouveau chemin n'est pas dans la liste des chemins d'accès. PATH plus de variable d'environnement.

Comment puis-je ajouter un chemin d'accès à la PATH et elle devrait être là aussi la prochaine fois que je lance le terminal.


J'ai à nouveau des problèmes avec cela, l'astuce qui a fonctionné auparavant ne semble plus fonctionner.

J'ai essayé avec :

echo 'export GRADLE_HOME=/Users/jonas/gradle-1.2/' >> ~/.profile
echo 'export PATH=GRADLE_HOME/bin:$PATH' >> ~/.profile

pour ajouter deux variables d'environnement. Ensuite, mon ~/.profile -Le fichier a ce contenu :

export GRADLE_HOME=/Users/jonas/gradle-1.2/
export PATH=GRADLE_HOME/bin:$PATH

Mais quand je commence une nouvelle Terminal fenêtre et type gradle (la commande que j'ai ajoutée à PATH ), je reçois un message indiquant que la commande n'existe pas. Si j'exécute la commande à partir de /Users/jonas/gradle-1.2/bin cela fonctionne bien !

13voto

robzolkos Points 10006

OSX lit les fichiers suivants dans l'ordre lorsqu'un terminal s'ouvre :

/etc/profile
~/.bash_profile
~/.bash_login   
~/.profile     

Placez donc votre ajout de chemin dans l'un de ceux-ci. Je place normalement les ajouts dans ~/.bash_profile

6voto

Spellcaster Points 3147

echo 'export PATH=/my/path:$PATH' >> ~/.bash_profile devrait faire l'affaire !

Si vous avez utilisé echo 'export PATH=/my/path:$PATH' > ~/.bash_profile ou toute autre variante, vous écraseriez le contenu de votre profil !

5voto

Raining Points 400

Mis à jour à 2021.0908

J'utilise ceci :

~/.zsh/
 .fzf.zsh
 .zcompdump
 .zprofile              # This will be read before .zshrc.
 .zsh_functions         # This is for my custom scripts.
 .zsh_history
 .zshenv                # (Important) Create a symlink of this to your ~/.
 .zshrc                 # Put everything in this file is fine. (cont.)
                           # (cont.) this is the ".bashrc" in your head.

Quelques points :

  • Mon .zprofile est vide. Je préfère mettre toutes les affaires à l'intérieur .zshrc car il ne contient pas trop de lignes.
  • Le contenu de .zshenv DEVRAIT contient cette ligne afin que nous puissions organiser la famille .zsh dans le fichier ~/.zsh dossier, ET n'oubliez pas de faire un lien symbolique dans votre fichier ~ dans un dossier que votre système d'exploitation peut lire :

    ZDOTDIR=/.zsh

FAIT . Vous pouvez ignorer mon ancienne réponse ci-dessous.


Ancienne réponse : (Pas correct. Mettez tout à l'intérieur .zshrc est très bien).

Vieille question mais, pour les utilisateurs de MacOS X Catalina :

Créer/modifier ~/.zshenv :

~~# comment for yourself PATH="$PATH:to/your/path"

Remarquez que modifier PATH en ~/.zprofile ou ~/.zshrc n'est pas correcte, elle devrait être ~/.zshenv .

Si vous devez ajouter quelque chose au début de PATH , créer/éditer davantage ~/.zprofile :

# apply the prepend to PATH
[[ -r ~/.zshenv ]] && source ~/.zshenv
# remove duplicate in PATH
typeset -U PATH~~ 

Référence : http://zsh.sourceforge.net/Intro/intro_3.html

3voto

En plus des endroits mentionnés par @RobZolkos, le shell de connexion cherche également dans /etc/paths et les fichiers à l'intérieur /etc/paths.d/ . Une entrée de chemin par ligne dans ces fichiers.

Voir /etc/profile et le page de manuel pour path_helper .

0voto

Maurizio Loreti Points 226

Insérez dans .bashrc ces lignes de code :

function pathadd {              # Add new element to PATH
  if ! echo $PATH | egrep -q "(:|^)$1(:|$)"
  then if [ "$2" = "after" ]
       then PATH="$PATH:$1"
       else PATH="$1:$PATH"
       fi
  fi
}

puis tapez une commande comme : pathadd /opt/local/bin ou pathadd /opt/local/bin after .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X