web-dev-qa-db-fra.com

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

Sur Mac OS X, les valeurs par défaut de $PATH sont les suivantes:

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

Quelles sont les valeurs par défaut sous Linux?

11
sonnuforevis

Sur une installation de bureau Ubuntu par défaut, $PATH est:

$ 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
16
andrewsomething

Les valeurs de chemin d’environnement sont stockées dans le fichier . Bashrc dans ubuntu.

La variable PATH à l'échelle du système est définie dans /etc/environment

3
Avinash Raj

Il y a un chemin construit dans les coquilles 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
3
Braiam

Il y a un moyen facile de savoir:

printenv

Ou plus directement:

echo $PATH

Toutefois, si vous recherchez simplement des informations rapides, Ubuntu définit généralement le chemin d'accès à:

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

Pour de telles questions, vous pouvez généralement creuser la réponse en lisant le Bible .

3
Brian Grogan Jr.

Selon le Linux que vous utilisez, cela peut être différent. Si vous avez déjà une connexion à un Linux, tapez simplement "env" pour voir vos variables d'environnement.

Si vous voulez savoir comment la variable env PATH est construite, jetez un œil à .bashrc et .bash_profile dans votre répertoire personnel. Si vous êtes plus curieux, vous pouvez aussi regarder/etc/profile, /etc/profile.d/* (s'il existe) et manual pour bash (man bash).

2
Jason

bash définira PATH sur 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 non lue depuis l'environnement ou un fichier, en utilisant l'utilitaire strings:

$ 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

Il semble donc que cette valeur par défaut ait été choisie au moment de la construction du binaire bash, qui dépend de la distribution Linux utilisée.

2
Vladimir Panteleev

Pour voir le chemin par défaut, utilisez ce qui est mentionné dans les réponses:

echo $PATH

Pour éditer utiliser:

gedit ~/.bashrc

Cette variable par défaut PATH est définie sous /etc/enviroment.

1
Sukupa91