Sous Mac OS X, les $PATH
valeurs par défaut sont:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Quelles sont les valeurs par défaut sous Linux?
Sous Mac OS X, les $PATH
valeurs par défaut sont:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Quelles sont les valeurs par défaut sous Linux?
Réponses:
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
ne contient que:
# 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 existe un moyen simple de découvrir:
printenv
Ou, plus directement:
echo $PATH
Mais, si vous cherchez juste des informations rapides, Ubuntu définit généralement le chemin vers:
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / bin / X11: / usr / jeux:
Pour des questions comme celle-ci, vous pouvez généralement trouver la réponse en lisant la Bible .
Selon le Linux que vous utilisez, cela peut être différent. Si vous avez déjà une connexion à 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 également consulter / etc / profile, /etc/profile.d/* (s'il existe) et le manuel de bash (man bash).
bash
prendra 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 non lue depuis l'environnement ou un fichier, en utilisant l' 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
Il semble donc que cette valeur par défaut soit choisie au moment de la construction du bash
binaire, ce qui dépend de la distribution Linux utilisée.