J'ai lu à quelques endroits que le PATH
est défini dans /etc/profile
ou le .profile
fichier qui se trouve dans le répertoire d'accueil.
S'agit-il des seuls endroits où le chemin est défini? Je veux mieux le comprendre.
Dans le /etc/profile
dossier, comme le dit le commentaire suivant "system-wide .profile file for the Bourne shell"
. Est-ce à dire que les fichiers de profil sont les principaux fichiers de configuration de bash?
Dans ce fichier, je ne vois pas du tout la PATH
var définie. Dans le .profile
fichier du répertoire personnel, il y a cette ligne:
PATH="$HOME/bin:$PATH"
Cela réinitialise PATH
par l'apparence, car il concatène la $PATH
chaîne déjà définie avec le $HOME/bin:
droit? Mais si etc/profile
et ~/.profile
sont les seuls paramètres de fichiers d' PATH
où $PATH
vient cette ligne de code si elle n'est pas définie dans /etc/profile
?
Une personne expérimentée peut-elle donner une explication large et détaillée de la PATH
variable? Merci!
la source
/etc/bashrc
. Cela détermine comment BASH est lancé, qui doit inclure toutes les variables d'environnement initiales. Sur mon système,/etc/bashrc
lit à partir de/etc/profile.d
mais il semble que vous n'ayez que 3 fichiers/etc/profile.d
, votre distribution peut donc le faire différemment.Pour ajouter aux autres réponses:
bash
sera définiPATH
sur une valeur par défaut codée en dur s'il n'est pas défini dans l'environnement. Sur une machine Ubuntu Server 16.04.2, j'obtiens: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:Cependant, j'obtiens un résultat différent sur ma machine Arch Linux:
Il semble donc que cette valeur par défaut soit choisie au moment de la construction du
bash
binaire, ce qui dépend du système d'exploitation / de la distribution utilisé.la source
Des trucs que je ne vois pas:
.profile
etc sont copiés lors de la création du compteQuant à Ken Thompson, vous serez peut-être surpris de son: "Vues sur Linux" .
la source