web-dev-qa-db-fra.com

Quel est ce $ PATH dans Linux et comment le modificateur

J'ai quelques questions sur ce $ PATH sous Linux.

Je sais que cela indique au shell les répertoires dans lesquels rechercher les fichiers exécutables.

  1. Qu'est-ce que cela signifie une variable environnementale?
  2. Comment changer de chemin? et est-il recommandé de le changer?
  3. SI je le change quelles sont les conséquences?
9

Pour obtenir votre chemin actuel de la variable $PATH, tapez:

echo $PATH 

Il indique à votre shell où rechercher les fichiers binaires.

Oui, vous pouvez le changer - par exemple, ajoutez-le au dossier $PATH avec vos scripts personnalisés.

Ainsi: si vos scripts sont dans /usr/local/myscripts pour les exécuter, vous devrez taper un chemin complet vers le script: /usr/local/myscripts/myscript.sh Après avoir modifié votre variable $PATH, vous pouvez simplement saisir myscript.sh pour exécuter le script.

Voici un exemple de $PATH de RHEL:

/ usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/utilisateur/bin

Pour changer votre $PATH, vous devez soit éditer ~/.profile (ou ~/.bash_profile) pour le paramètre utilisateur ou global $PATH dans /etc/profile.

L’avoir des variables $PATH inexactes a notamment pour conséquence que Shell ne pourra pas trouver et exécuter de programmes sans un $PATH complet.

11
Chris

Premièrement, vous avez raison dans votre déclaration de ce que fait $ PATH. Si vous deviez le casser d'une manière ou d'une autre (conformément à votre troisième point), vous devrez saisir manuellement/usr/bin/xyz si vous souhaitez exécuter un programme dans/usr/bin à partir du terminal. Selon le mode de fonctionnement de chaque programme, certains programmes qui en appellent d’autres risquent de ne plus fonctionner, car ils s’attendent à pouvoir exécuter ls ou quelque chose du genre.

Donc, si vous jouiez avec $ PATH, je suggérerais de le sauvegarder quelque part en premier. Utilisez l'instruction en ligne de commande

echo $PATH > someRandomFile.txt

pour l'enregistrer dans someRandomFile.txt

Vous pouvez changer $ PATH en utilisant la commande export. Alors

export PATH=someNewPath

CEPENDANT, cela remplacera complètement $ PATH par someNewPath. Les éléments du chemin étant séparés par un ":", vous pouvez y ajouter des éléments (il est préférable de ne pas les supprimer, voir ci-dessus) en exécutant

export PATH=$PATH:newPath

Le fait qu’il s’agisse d’une variable d’environnement signifie que les programmes peuvent en trouver la valeur, c’est-à-dire qu’il s’agit d’un paramètre défini dans l’environnement dans lequel il est exécuté. Les autres variables d’environnement incluent des éléments tels que le répertoire actuel et l’adresse du proxy actuel. .

8
rspencer

c'est simple et j'aime bien cette façon.

Ouvrez le shell bash de Linux et imprimez les variables d’environnement:

printenv

Je copie la variable "PATH" dans un éditeur de texte et le modifie à ma guise Puis mettez à jour la PATH comme ceci

export PATH= /variable dir list/

Ça marche.

ou si vous souhaitez ajouter une seule variable, utilisez cette commande.

export PATH = $PATH:/variable_dir_path/

Cela étend le PATH avec votre nouveau chemin de répertoire.

0