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?
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
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
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
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 .
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).
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.
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
.