Je lance Ubuntu 12.04.1 LTS. Et je ne peux pas savoir quel est l'ordre/la priorité pour charger les fichiers de profil. Lorsque je démarre le système et que je me connecte à l'aide de l'interface graphique, quel fichier est chargé? Et pourquoi? Et si exécuter login-shell? Sera-ce la même chose? Actuellement, je ne comprends pas pourquoi mon ~/.profile
ne se charge pas au démarrage du système, car ici, je vois qu'il devrait:
Vous pouvez définir une variable dans chaque fichier:
ORDER=${ORDER}+"/etc/profile"
respectivement
ORDER=${ORDER}+"~/.profile"
et effectuer un
echo ${ORDER}
pour voir, ce qui était impliqué et dans quel ordre. Bien sûr, cela ne vous le dira pas, s'il y avait différents scripts que vous avez manqués.
Donc, si vous voyez une source mentionnée, lisez ce script pour savoir si un script en utilise une autre et incluez-les également.
/etc/bash.bashrc et ~/.bashrc et ~/.bash_login me viennent à l’esprit, ainsi que des éléments de/etc/default.
Tout dépend de l'utilisateur avec lequel vous essayez de vous connecter. Le fichier global /etc/profile
est chargé pour chaque utilisateur, alors que le ~/.profile
est chargé uniquement pour l'utilisateur.
~
pointe vers le répertoire de base de l'utilisateur actuel. Donc, si vous le placez dans /home/user-a/.profile
et que vous vous connectez en tant que user-a
, le fichier global et son fichier spécifique à l'utilisateur sont chargés (dans cet ordre), tandis que si vous vous connectez en tant que user-b
sans fichier .profile
, il ne charge que le fichier global.
C'est de ma faute. Il y avait [[some_test]] dans mon ~/.profile et il fonctionne bien sous bash, mais je suppose que dash exécute certaines commandes pre_session_creation/post_session_creation au début de la session et dash ne sais pas [[mot-clé. Donc tout avait été chargé mais arrêté à l'erreur.
Les deux doivent être chargés et ~/.profile doit être chargé en dernier (ce qui signifie qu'il a la priorité).