Voici le contenu du stock ~/.profile
fourni avec mon 13.10 (lignes commentées supprimées):
if [ -n "$BASH_VERSION" ]; then
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
C'est hérité de Debian mais pourquoi Canonical a-t-il décidé de le garder? Pour autant que je sache, ce n'est pas la manière standard * nix et j'ai vu divers systèmes où cela ne s'est pas produit, donc je suppose qu'ils ont dû avoir une bonne raison. Cela peut provoquer un comportement inattendu lors de l'exécution de shells de connexion (comme lors de la saisie dans la machine par exemple) où l'utilisateur ne s'attendrait pas à avoir ~/.bashrc
sourcé.
Le seul avantage auquel je peux penser est de ne pas confondre l'utilisateur avec de nombreux fichiers de démarrage et de leur permettre de les éditer .bashrc
seuls et de les lire indépendamment du type de shell. Cependant, cela est un avantage douteux car il est souvent utile d'avoir des paramètres différents pour la connexion et pour les shells interactifs et cela vous empêche de le faire. De plus, les shells de connexion ne sont pas souvent exécutés dans un environnement graphique et cela peut provoquer des erreurs et des avertissements et des problèmes (oh mon Dieu!) En fonction de ce que vous avez défini dans ces fichiers.
Alors pourquoi Ubuntu fait-il cela, qu'est-ce qui me manque?
.profile
source .bashrc
, ce n'est pas le cas dans toutes les versions de Linux et je me demande quelle est la raison derrière cela.
-n "$BASH_VERSION"
vrai en dehors de bash?