Recherche…


Syntaxe

  • Ajouter un chemin: PATH = $ PATH: / new / path
  • Ajouter un chemin: PATH = / new / path: $ PATH

Paramètres

Paramètre Détails
CHEMIN Variable d'environnement de chemin

Remarques

Fichier de configuration Bash:

Ce fichier provient d'un nouveau shell Bash interactif.

Dans les systèmes GNU / Linux, c'est généralement le fichier ~ / .bashrc; dans Mac, c'est ~ / .bash_profile ou ~ / .profile

Exportation:

La variable PATH doit être exportée une fois (c'est fait par défaut). Une fois exporté, il restera exporté et les modifications apportées seront immédiatement appliquées.

Appliquer les modifications:

Pour appliquer les modifications à un fichier de configuration Bash, vous devez recharger ce fichier dans un terminal ( source /path/to/bash_config_file )

Ajouter un chemin à la variable d'environnement PATH

La variable d'environnement PATH est généralement définie dans ~ / .bashrc ou ~ / .bash_profile ou / etc / profile ou ~ / .profile ou /etc/bash.bashrc (fichier de configuration Bash spécifique à la distribution)

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/jdk1.8.0_92/bin:/usr/lib/jvm/jdk1.8.0_92/db/bin:/usr/lib/jvm/jdk1.8.0_92/jre/bin

Maintenant, si nous voulons ajouter un chemin (par exemple ~/bin ) à la variable PATH:

PATH=~/bin:$PATH
# or
PATH=$PATH:~/bin

Mais cela ne modifiera le PATH que dans le shell actuel (et son sous-shell). Une fois que vous quittez le shell, cette modification aura disparu.

Pour le rendre permanent, nous devons ajouter ce bit de code au fichier ~ / .bashrc (ou autre) et recharger le fichier.

Si vous exécutez le code suivant (dans le terminal), il ajoutera définitivement ~/bin au PATH:

echo 'PATH=~/bin:$PATH' >> ~/.bashrc && source ~/.bashrc

Explication:

  • echo 'PATH=~/bin:$PATH' >> ~/.bashrc ajoute la ligne PATH=~/bin:$PATH à la fin du fichier ~ / .bashrc (vous pouvez le faire avec un éditeur de texte)
  • source ~/.bashrc recharge le fichier ~ / .bashrc

Ceci est un bit de code (exécuté dans le terminal) qui vérifiera si un chemin est déjà inclus et ajoute le chemin seulement s'il n'est pas:
path=~/bin            # path to be included
bashrc=~/.bashrc      # bash file to be written and reloaded
# run the following code unmodified
echo $PATH | grep -q "\(^\|:\)$path\(:\|/\{0,1\}$\)" || echo "PATH=\$PATH:$path" >> "$bashrc"; source "$bashrc"

Supprimer un chemin de la variable d'environnement PATH

Pour supprimer un PATH d'une variable d'environnement PATH, vous devez éditer le fichier ~ / .bashrc ou ~ / .bash_profile ou / etc / profile ou ~ / .profile ou /etc/bash.bashrc (spécifique à la distribution) et supprimer l'affectation pour ce chemin particulier.

Au lieu de trouver l'assignation exacte, vous pourriez simplement faire un remplacement dans $PATH dans sa phase finale.

Ce qui suit va supprimer en toute sécurité $path de $PATH :

path=~/bin
PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"

Pour le rendre permanent, vous devrez l'ajouter à la fin de votre fichier de configuration bash.


Vous pouvez le faire de manière fonctionnelle:
rpath(){
    for path in "$@";do
        PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"
    done
    echo "$PATH"
}

PATH="$(rpath ~/bin /usr/local/sbin /usr/local/bin)"
PATH="$(rpath /usr/games)"
# etc ...

Cela facilitera le traitement de plusieurs chemins.

Remarques:

  • Vous devrez ajouter ces codes dans le fichier de configuration Bash (~ / .bashrc ou autre).
  • Exécutez le source ~/.bashrc pour recharger le fichier de configuration Bash (~ / .bashrc).


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow