GNU/Linux >> Tutoriels Linux >  >> Linux

Ajout d'une nouvelle entrée à la variable PATH dans ZSH

Ici, ajoutez cette ligne à .zshrc :

export PATH=/home/david/pear/bin:$PATH

MODIFIER :Cela fonctionne, mais la réponse ci-dessus est meilleure, car elle tire parti de l'interface structurée fournie par ZSH pour des variables telles que $PATH . Cette approche est standard pour bash , mais pour autant que je sache, il n'y a aucune raison de l'utiliser lorsque ZSH fournit de meilleures alternatives.


En fait, l'utilisation de ZSH vous permet d'utiliser un mappage spécial des variables d'environnement. Vous pouvez donc simplement faire :

# append
path+=('/home/david/pear/bin')
# or prepend
path=('/home/david/pear/bin' $path)
# export to sub-processes (make it inherited by child processes)
export PATH

Pour moi, c'est une fonctionnalité très intéressante qui peut être propagée à d'autres variables.Exemple :

typeset -T LD_LIBRARY_PATH ld_library_path :

Vous pouvez ajouter à votre PATH de façon minimale. Pas besoin de parenthèses sauf si vous ajoutez plus d'un élément. Il n'a pas non plus besoin de guillemets. Alors la manière simple et courte d'ajouter est :

path+=/some/new/bin/dir

Cette syntaxe en minuscule utilise path en tant que tableau , mais affecte également son équivalent en majuscules, PATH (auquel il est "lié" via typeset ).

(Remarquez qu'aucun : est nécessaire/souhaité comme séparateur .)

Utilisation interactive courante

Alors le modèle commun pour tester un nouveau script/exécutable devient :

path+=$PWD/.
# or
path+=$PWD/bin

Utilisation courante de la configuration

Vous pouvez saupoudrer les paramètres de chemin autour de votre .zshrc (comme ci-dessus) et cela conduira naturellement à ce que les paramètres répertoriés précédemment aient priorité (bien que vous souhaitiez parfois utiliser la forme "préfixe" path=(/some/new/bin/dir $path) ).

Informations connexes

Traiter path de cette manière (en tant que tableau) signifie également :pas besoin de faire un rehash pour que les commandes nouvellement tracées soient trouvées.

Jetez également un œil à vared path comme moyen dynamique d'éditer path (et d'autres choses).

Vous n'êtes peut-être intéressé que par path pour cette question, mais puisque nous parlons d'exportations et de tableaux, notez queles tableaux ne peuvent généralement pas être exportés.

Vous pouvez même empêcher PATH de prendre des entrées en double (voir ceci et ceci) :

typeset -U path

CHEMIN pré-rempli

La raison pour laquelle votre chemin contient déjà des entrées est due au chemin de configuration des fichiers shell de votre système pour vous. Ceci est couvert dans quelques autres articles :

  • Pourquoi et où la variable d'environnement $PATH est définie ?
  • Où est la source de $PATH ? Je ne le trouve pas dans .zshrc

Linux
  1. 2 façons de définir de manière permanente la variable $ PATH dans Ubuntu

  2. Comment définir la variable $Path sous Linux

  3. Comment changer la variable PATH sous Linux

  4. Donner le point de montage d'un chemin

  5. Créer un nouveau répertoire en C

Ajouter un nouveau service à Linux systemd

Comment ajouter proprement à $path ?

Shebangs indépendants du chemin?

Vue complète de l'endroit où la variable de chemin est définie dans Bash ?

Ajouter des dossiers à votre variable d'environnement Path ?

Existe-t-il une variable de chemin d'installation Qt que je peux utiliser dans le fichier .pro ?