Comment ajouter un répertoire au PATH?

619

Comment ajouter un répertoire au $PATH dans Ubuntu et rendre les modifications permanentes?

    
posée justingrif 22.07.2009 - 22:42
la source

17 réponses

393

Utiliser ~ / .profile pour définir $ PATH

Un chemin défini dans .bash_profile ne sera défini que dans un shell de connexion bash ( bash -l ). Si vous placez votre chemin dans .profile , il sera disponible pour votre session de bureau complète. Cela signifie que même la métacité l’utilisera.

Par exemple ~/.profile :

if [ -d "$HOME/bin" ] ; then
  PATH="$PATH:$HOME/bin"
fi

Btw, vous pouvez vérifier la variable PATH d'un processus en regardant son environnement dans /proc/[pid]/environ (remplacez [pid] par le nombre de ps axf ). Par exemple. utilisez grep -z "^PATH" /proc/[pid]/environ

Note:

bash en tant que shell de connexion n'analyse pas .profile si .bash_profile ou .bash_login existe. De man bash :

  

il recherche ~ / .bash_profile, ~ / .bash_login et ~ / .profile, dans cette   ordre, et lit et exécute les commandes du premier qui existe   et est lisible.

Consultez les réponses ci-dessous pour obtenir des informations sur .pam_environment ou .bashrc pour les shells interactifs sans connexion, ou définissez la valeur valeur globale pour tous les utilisateurs en insérant un script dans /etc/profile.d/ ou en utilisant /etc/X11/Xsession.d/ pour affecter la session des gestionnaires d'affichage.

    
réponse donnée ko-dos 23.07.2009 - 00:04
la source
255

Modifiez .bashrc dans votre répertoire personnel et ajoutez la ligne suivante:

export PATH="/path/to/dir:$PATH"

Vous devrez vous procurer .bashrc ou vous déconnecter / connecter (ou redémarrer le terminal) pour que les modifications prennent effet. Pour trouver votre .bashrc , tapez simplement

$ source ~/.bashrc
    
réponse donnée Ophidian 22.07.2009 - 22:45
la source
100

L'emplacement recommandé pour définir des variables d'environnement permanentes à l'échelle du système s'appliquant à tous les utilisateurs se trouve dans:

/etc/environment

(où est défini PATH par défaut)

Cela fonctionnera sur les ordinateurs de bureau ou les consoles, gnome-terminal ou TTY, pluie ou brillance;)

  • Pour éditer, appuyez sur Alt + F2 et tapez:

    gksudo gedit /etc/environment
    

    (ou ouvrez le fichier en utilisant sudo dans votre éditeur de texte préféré)

Pour effectuer des modifications, exécutez . /etc/environment . Comme ce fichier n'est qu'un simple script, il s'exécutera et assignera le nouveau chemin à la variable d'environnement PATH . Pour vérifier l'exécution de env et voir la valeur PATH dans la liste.

En relation:

  • lien
réponse donnée ish 31.07.2012 - 05:49
la source
53

Je pense que la manière canonique dans Ubuntu est:

  • créer un nouveau fichier sous /etc/profile.d/

    sudo vi /etc/profile.d/SCRIPT_NAME.sh
    
  • ajoutez-y:

    export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
    
  • et donnez-lui l'autorisation d'exécution

    sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
    
réponse donnée woto 09.01.2010 - 02:31
la source
44

Pour les débutants complets (comme moi) qui sont plus à l’aise avec l’interface graphique:

  1. Ouvrez votre dossier $HOME .
  2. Allez dans Afficher Afficher les fichiers cachés ou appuyez sur Ctrl + H .
  3. Cliquez avec le bouton droit sur .profile et cliquez sur Ouvrir avec l’éditeur de texte .
  4. Faites défiler vers le bas et ajoutez PATH="$PATH:/my/path/foo" .
  5. Enregistrer.
  6. Déconnectez-vous et reconnectez-vous pour appliquer les modifications (laissez Ubuntu charger réellement .profile ).
réponse donnée dain 25.10.2011 - 00:05
la source
39

Pour les variables d’environnement persistantes disponibles uniquement pour des utilisateurs particuliers. Je recommande fortement la documentation officielle d'Ubuntu.

lien

En ce qui concerne la documentation ci-dessus, j'ai configuré mes outils de développement de SDK Android en:

  1. créer le fichier ~/.pam_environment dans le répertoire personnel.
  2. dont le contenu est PATH DEFAULT=${PATH}:~/android-sdk-linux/tools .
  3. un chemin d’utilisateur personnalisé supplémentaire peut être ajouté en séparant les chemins par deux points (:) .
  4. cela nécessite re-login , ce qui signifie que vous devez vous déconnecter et vous reconnecter à l'environnement de bureau.
réponse donnée Eduardo B. 09.12.2012 - 00:07
la source
25

Placez cette ligne dans votre fichier ~/.bashrc .

Il est généré chaque fois que vous ouvrez un terminal

EDIT : en fonction des commentaires ci-dessous, pour un paramètre plus général qui s'appliquera à tous les shells (y compris lorsque vous tapez Alt - F2 dans Unity), ajoutez la ligne à votre fichier ~/.profile . Vous ne devriez probablement pas faire les deux cependant, car le chemin sera ajouté deux fois à votre environnement PATH si vous ouvrez un terminal.

    
réponse donnée Ian B. 31.07.2012 - 03:08
la source
15

Pour définir la taille du système, ajoutez la ligne export PATH=/path/you're/adding:$PATH à la fin de /etc/profile .

Pour ajouter le répertoire uniquement à l'utilisateur connecté, ajoutez la même ligne à ~/.bash_profile .

    
réponse donnée ennuikiller 23.07.2009 - 01:20
la source
14

L'ajouter à .bashrc fonctionnera mais je pense que la manière la plus traditionnelle de configurer vos variables de chemin est dans .bash_profile en ajoutant les lignes suivantes.

PATH=$PATH:/my/path/foo
export PATH

Selon ce thread apparaît comme si le comportement d'Ubuntu était légèrement différent de celui de RedHat et des clones.

    
réponse donnée 3dinfluence 22.07.2009 - 22:58
la source
8
sudo vi /etc/profile.d/SCRIPT_NAME.sh

ajoutez-y

export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
    
réponse donnée Clipping Path 13.01.2011 - 19:44
la source
8

Dans le terminal, cd à the_directory_you_want_to_add_in_the_path

echo "export PATH=$(pwd):${PATH}" >> ~/.bashrc

Ce n'était pas mon idée. J'ai trouvé cette façon d'exporter le chemin à cette blog ici .

    
réponse donnée Vittorio Cecchetto 09.09.2012 - 00:44
la source
6

Chaque fois que je "installe" mon dossier de scripts BASH, je suis le modèle de test pour un dossier $HOME/bin qui se trouve dans la plupart des fichiers .profile des versions récentes d'Ubuntu. Je mets un test qui ressemble à

if [ -d "/usr/scripts" ]; then
   PATH="/usr/scripts:$PATH"
fi

Cela fonctionne à peu près 100% du temps et me laisse libre de le changer dans un éditeur de texte avec un rapide "Remplacer tout" si je décidais de déplacer /scripts quelque part plus près de mon dossier $HOME . Je ne l'ai pas fait dans 6 installations Ubuntu, mais il y a "toujours demain". S

BZT

    
réponse donnée Silversleevesx 29.12.2011 - 03:25
la source
4

Ouvrez votre terminal, tapez gedit .profile et insérez les éléments suivants:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$PATH:$HOME/bin"
fi

 #the following line add Bin where you dont have a Bin folder on your $HOME
    PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"

Fermer et ouvrir le terminal, ça devrait marcher.

    
réponse donnée djavier 04.02.2013 - 20:09
la source
2

La méthode recommandée pour modifier votre PATH provient du fichier /etc/environment

Exemple de sortie de /etc/environment :

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Par exemple, pour ajouter le nouveau chemin d'accès de /home/username/mydir

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
  

Variables d’environnement à l’échelle du système

     

Un fichier approprié pour les paramètres de variable d'environnement qui affectent le système dans son ensemble (plutôt qu'un utilisateur particulier) est / etc / environment. Une alternative consiste à créer un fichier à cet effet dans le répertoire /etc/profile.d.

     

/ etc / environment

     

Ce fichier est spécifiquement destiné aux paramètres de variable d’environnement du système. Ce n'est pas un fichier de script, mais plutôt des expressions d'affectation, une par ligne.

     

Remarque: L'expansion des variables ne fonctionne pas dans / etc / environment.

Vous trouverez plus d'informations ici: EnvironmentVariables

    
réponse donnée Benny 08.11.2016 - 10:04
la source
1

Mettez-le dans votre ~/.bashrc ou whatevershell vous utilisez rc (ou sur ~/.profile ) ET ~/.xsessionrc afin qu'il fonctionne également dans X (en dehors du shell).

    
réponse donnée Mikaela 01.08.2012 - 11:40
la source
1

Même si les scripts système ne l’utilisent pas, Dans tous les cas où l'on souhaite ajouter un chemin (par exemple, $HOME/bin ) à la variable d'environnement PATH, il convient d'utiliser

PATH="${PATH:+${PATH}:}$HOME/bin"

pour ajouter (au lieu de PATH="$PATH:$HOME/bin" ), et

PATH="$HOME/bin${PATH:+:${PATH}}"

pour le préfixage (au lieu de PATH="$HOME/bin:$PATH" ).

Cela évite les deux points de début et de fin intempestifs lorsque $PATH est initialement vide, ce qui peut avoir des effets indésirables.

Voir par exemple lien

    
réponse donnée sancho.s 05.01.2018 - 17:25
la source
-1

Pour Ubuntu, éditez le ~/.bashrc et ajoutez la ligne suivante.

. ~/.bash_profile

Ensuite, éditez votre fichier .bash_profile selon vos besoins .....

    
réponse donnée Vidula 19.11.2009 - 06:03
la source

Lire d'autres questions sur les étiquettes