GNU/Linux >> Tutoriels Linux >  >> Linux

Comment changer la variable PATH sous Linux

Qu'est-ce qu'une variable PATH

La variable d'environnement PATH stocke une liste d'emplacements séparés par deux-points pour rechercher une commande/application lorsqu'elle est exécutée sur la ligne de commande. Par exemple, lors de l'exécution d'une commande telle que ls ou vi, le système vérifie tous les répertoires répertoriés dans PATH (dans l'ordre de gauche à droite) pour trouver l'exécutable ou le script que l'utilisateur tente d'exécuter. Cela permet d'exécuter des commandes sans connaître leur emplacement dans le système de fichiers. Vous trouverez ci-dessous un exemple de variable PATH dans les systèmes Linux.

# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

Par défaut, le PATH est déjà configuré pour rechercher dans les répertoires suivants :

/usr/local/sbin
/usr/local/bin
/sbin
/bin
/usr/sbin
/usr/bin

Comment vérifier la valeur de la variable PATH

Pour vérifier la liste des chemins d'accès de l'utilisateur actuel, utilisez l'une des commandes ci-dessous :

# set | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# env | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

Ajout d'un nouveau répertoire à la variable PATH pour un utilisateur spécifique

Un nouveau répertoire peut être ajouté au PATH d'un utilisateur en modifiant ~/.bash_profile ou ~/.bashrc fichiers dans le répertoire personnel de l'utilisateur. Par exemple, le PATH est normalement défini avec des lignes similaires aux suivantes dans ~/.bash_profile :

# vi ~/.bash_profile
PATH=$PATH:$HOME/bin 
export PATH

Pour ajouter un nouveau répertoire au chemin (par exemple "/nouveau_chemin"), modifiez la ligne PATH en l'ajoutant à la fin :

# vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/new_path           ### Notice the colon ':' between the directories

Copiez ensuite les lignes PATH et EXPORT de ~/.bash_profile vers ~/.bashrc pour vous assurer que le chemin est correctement défini, quelle que soit la façon dont l'utilisateur se connecte à la machine. Suite à ces modifications, le PATH inclura désormais le répertoire "/programs" la prochaine fois que l'utilisateur se connectera au système.

Appliquer les modifications au partage actuel

Pour appliquer le PATH uniquement au terminal bash actuel (sans se déconnecter), la commande ci-dessous peut être exécutée :

$ . ~/.bash_profile
REMARQUE :Il est préférable de se déconnecter puis de se reconnecter pour que tout l'environnement le voie maintenant.

Ajout d'un nouveau répertoire à la variable PATH pour tous les utilisateurs

Le chemin global peut être mis à jour soit :

1. Ajout d'un nouveau fichier nommé /etc/profile.d/mypath.sh à exécuter lors de la connexion pour tous les utilisateurs, contenant :

PATH=$PATH:/new_path

(Remarque :Cette méthode affectera tous les utilisateurs (utilisateurs existants et futurs utilisateurs).

2. Modification du fichier nommé /etc/skel/.bash_profile de la même manière décrite plus haut dans cette solution.

  • Les fichiers dans /etc/skel/ seront copiés dans le répertoire personnel de tout nouvel utilisateur lors de leur création.
  • Remarque :Cette méthode n'aura aucun effet sur les comptes utilisateur existants.


Linux
  1. Comment changer la couleur de votre terminal Linux

  2. Comment modifier, supprimer ou désactiver le mot de passe utilisateur sous Linux

  3. Comment changer un nom d'utilisateur sous Linux

  4. Comment changer l'identité d'un système Linux

  5. Comment (correctement) changer l'UID et le GID d'un utilisateur/groupe sous Linux

Comment changer le mot de passe utilisateur sous Linux

Comment changer le shell utilisateur par défaut dans le système d'exploitation Linux

Comment changer ou définir un mot de passe utilisateur sous Linux

Comment changer d'utilisateur sous Linux

Comment connaître les groupes d'un utilisateur Linux

Comment changer le mot de passe root sous Linux