19 votes

Quelles sont les valeurs par défaut de $PATH ?

Sous Mac OS X, la valeur par défaut $PATH sont les valeurs :

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

Quelles sont les valeurs par défaut sous Linux ?

21voto

Ghirai Points 11

Sur un bureau Ubuntu par défaut, installez $PATH です。

$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Mais dans un environnement chroot minimal créé par debootstrap , $PATH contient uniquement :

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

7voto

Avinash Raj Points 72686

Les valeurs du chemin de l'environnement sont stockées dans .bashrc dans ubuntu.

La variable PATH du système est définie dans /etc/environment

7voto

Vladimir Panteleev Points 1019

bash définira PATH à une valeur par défaut codée en dur si elle n'est pas définie dans l'environnement :

$ env -i bash -c 'echo $PATH'
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.

Nous pouvons vérifier que cette valeur est bien codée en dur, et qu'elle n'est pas lue depuis l'environnement ou un fichier quelconque, en utilisant la fonction strings utilitaire :

$ strings /bin/bash | grep /usr/sbin
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.

Cependant, j'obtiens un résultat différent sur ma machine Arch Linux :

$ env -i bash -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/bin

Ainsi, la valeur par défaut est choisie au moment où la bash a été construit, ce qui dépend de la distribution Linux utilisée.

El bash page de manuel États :

PATH

Le chemin de recherche des commandes. C'est une liste de répertoires séparés par deux points dans lesquels le Shell recherche des commandes (voir EXÉCUTION DES COMMANDES ci-dessous). Un nom de répertoire de longueur zéro (nul) dans la valeur de PATH indique le répertoire courant. Un nom de répertoire nul peut apparaître sous la forme de deux points adjacents, ou sous la forme d'un point initial ou arrière. Le chemin par défaut est dépendant du système, et est défini par l'administrateur qui installe bash . Une valeur commune est /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin .

Ici, "installe" fait probablement référence à make install (par opposition à l'installation d'un binaire préconstruit à l'aide d'un gestionnaire de paquets), le terme "administrateur" fait donc référence au fournisseur de la distribution.

La section "INVOCATION" de la page de manuel décrit le processus de démarrage, qui peut affecter la valeur initiale de la variable.

4voto

Braiam Points 64282

Il y a un chemin intégré dans les shells qui est

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

Alors le chemin par défaut pour Ubuntu est :

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

4voto

Il y a un moyen facile de le savoir :

printenv

Ou, plus directement :

echo $PATH

Mais, si vous cherchez simplement une information rapide, Ubuntu définit généralement le chemin d'accès comme suit :

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games:

Pour ce genre de questions, vous pouvez généralement trouver la réponse en lisant le site web de la Commission européenne. Bible .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X