Vous devez l'ajouter à votre ~/.profile
ou ~/.bashrc
fichier.
export PATH="$PATH:/path/to/dir"
Selon ce que vous faites, vous pouvez également créer un lien symbolique vers les fichiers binaires :
cd /usr/bin
sudo ln -s /path/to/binary binary-name
Notez que cela ne mettra pas automatiquement à jour votre chemin pour le reste de la session. Pour ce faire, vous devez exécuter :
source ~/.profile
or
source ~/.bashrc
Dans Ubuntu, modifiez /etc/environment
. Son seul but est de stocker des variables d'environnement . À l'origine, la variable $PATH est définie ici.
Ceci est une pâte de mon /etc/environment
fichier :
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Vous pouvez donc simplement ouvrir ce fichier en tant que root et ajouter ce que vous voulez.
Pour immédiat résultats,
Exécuter (essayez en tant qu'utilisateur normal et racine):
source /etc/environment && export PATH
Si vous utilisez le shell Z (zsh
), ajoutez cette ligne juste après les commentaires dans /etc/zsh/zshenv
fichier :
source /etc/environment
J'ai rencontré cette petite bizarrerie sur Ubuntu 15.10 (Wily Werewolf), mais si votre zsh n'obtient pas le bon PATH , c'est peut-être pour ça.
Il existe plusieurs façons de le faire. La solution réelle dépend de l'objectif.
Les valeurs des variables sont généralement stockées dans une liste d'affectations ou dans un script shell exécuté au démarrage du système ou de la session utilisateur. Dans le cas du script shell, vous devez utiliser une syntaxe shell spécifique et export
ou set
commandes.
À l'échelle du système
-
/etc/environment
Liste des affectations uniques. Autorise les références. Parfait pour ajouter des répertoires à l'échelle du système comme/usr/local/something/bin
àPATH
variable ou définissantJAVA_HOME
. Utilisé par PAM et systemd. -
/etc/environment.d/*.conf
Liste des affectations uniques. Autorise les références. Parfait pour ajouter des répertoires à l'échelle du système comme/usr/local/something/bin
àPATH
variable ou définissantJAVA_HOME
. La configuration peut être divisée en plusieurs fichiers, généralement un pour chaque outil (Java, Go et Node.js). Utilisé par systemd qui, de par sa conception, ne transmet pas ces valeurs aux shells de connexion des utilisateurs. -
/etc/xprofile
Script shell exécuté lors du démarrage de la session X Window System. Ceci est exécuté pour chaque utilisateur qui se connecte au système X Window. C'est un bon choix pourPATH
entrées valides pour chaque utilisateur comme/usr/local/something/bin
. Le fichier est inclus par un autre script, utilisez donc la syntaxe du shell POSIX et non la syntaxe de votre shell utilisateur. -
/etc/profile
et/etc/profile.d/*
Script shell. C'est un bon choix pour les systèmes shell uniquement. Ces fichiers sont lus uniquement par les shells en mode de connexion. -
/etc/<shell>.<shell>rc
. Script shell. C'est un mauvais choix car il est spécifique à un seul shell. Utilisé en mode sans connexion.
Session utilisateur
-
~/.pam_environment
. Liste des affectations uniques, aucune référence autorisée. Chargé par PAM au début de chaque session utilisateur, sans importance s'il s'agit d'une session X Window System ou d'un shell. Vous ne pouvez pas référencer d'autres variables, y comprisHOME
ouPATH
donc son utilisation est limitée. Utilisé par PAM. -
~/.xprofile
Script shell. Ceci est exécuté lorsque l'utilisateur se connecte au système X Window System. Les variables définies ici sont visibles pour toutes les applications X. Choix parfait pour étendrePATH
avec des valeurs telles que~/bin
ou~/go/bin
ou en définissant unGOPATH
spécifique à l'utilisateur ouNPM_HOME
. Le fichier est inclus par un autre script, utilisez donc la syntaxe du shell POSIX et non la syntaxe de votre shell utilisateur. Votre éditeur de texte graphique ou IDE démarré par raccourci verra ces valeurs. -
~/.profile
,~/.<shell>_profile
,~/.<shell>_login
Script shell. Il ne sera visible que pour les programmes démarrés à partir d'un terminal ou d'un émulateur de terminal. C'est un bon choix pour les systèmes shell uniquement. Utilisé par les shells en mode connexion. -
~/.<shell>rc
. Script shell. C'est un mauvais choix car il est spécifique à un seul shell. Utilisé par les shells en mode sans connexion.
Remarques
GNOME sur Wayland démarre un shell de connexion utilisateur pour obtenir l'environnement. Il utilise efficacement les configurations de shell de connexion ~/.profile
, ~/.<shell>_profile
, ~/.<shell>_login
fichiers.
Pages de manuel
- environnement
- environnement.d https://linux.die.net/man/1/environment.d
- bash
- tiret
Documentation spécifique à la distribution
- Ubuntu
- Arch Linux
Connexe
Différence entre le shell de connexion et le shell sans connexion ?