La réponse de Grzegorz Żur à une autre question la saisit brillamment. Malheureusement, il était caché parmi de nombreuses autres réponses.
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 soit dans une liste d'affectations, soit 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.
À l'échelle du système
/etc/environmentListe des affectations uniques. Parfait pour ajouter des répertoires à l'échelle du système comme/usr/local/something/binàPATHvariable ou définissantJAVA_HOME./etc/xprofileScript shell exécuté lors du démarrage de la session X Window System. Ceci est exécuté pour chaque utilisateur qui se connecte à X WindowSystem. C'est un bon choix pourPATHentrées valides pour tous les utilisateurs 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/profileet/etc/profile.d/*Script shell. C'est un bon choix pour les systèmes shell uniquement. Ces fichiers ne sont lus que par les shells./etc/<shell>.<shell>rc. Script shell. C'est un mauvais choix car il est spécifique à un seul shell.
Aussi, /etc/environment n'est pas un fichier de script, mais se compose plutôt d'expressions d'affectation, une par ligne. Étant donné que ce fichier stocke les paramètres régionaux et de chemin d'accès à l'échelle du système, il est le plus souvent cité comme choix. Utilisation de /etc/profile n'est pas préféré. Il n'existe que pour pointer vers /etc/bash.bashrc et pour collecter les entrées de /etc/profile.d
Session utilisateur
~/.pam_environment. Liste des affectations uniques. Chargé par PAM au début de chaque session utilisateur, peu importe s'il s'agit d'une session ou d'un shell XWindow System. Vous ne pouvez pas référencer d'autres variables, y comprisHOMEouPATHson utilisation est donc limitée.~/.xprofileScript shell. Ceci est exécuté lorsque l'utilisateur se connecte au système X Window System. Les variables définies ici sont visibles pour chaque application X. Choix parfait pour étendrePATHavec des valeurs telles que~/binou~/go/binou en définissant unGOPATHspé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.~/.profileScript 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 uniquement shell.~/.<shell>rc. Script shell. C'est un mauvais choix car il est spécifique à un seul shell.
Pour un changement temporaire :
~$ export PATH=$PATH:~/root/scripts
Pour un changement permanent, vous pouvez ajouter cette ligne au /etc/environment fichier comme celui-ci :
PATH=$PATH:~/root/scripts