Les .profiledates remontent à la coquille Bourne originale connue sous le nom de sh. Étant donné que le shell GNU bashest (selon ses options) un sur-ensemble du shell Bourne, les deux shells peuvent utiliser le même fichier de démarrage. Autrement dit, à condition que seules les shcommandes soient insérées dans.profile
Par exemple, aliasest une commande intégrée valide de bashmais inconnue de sh. Par conséquent, si vous n'aviez qu'un .profiledans votre répertoire personnel et y mettiez une aliasdéclaration, vous vous shplaindriez. Il existe donc un fichier spécifique à bash qui a des commandes d'initialisation du shell que bash lira si et seulement s'il n'y a pas de .profilefichier présent.
En fait, c'est un peu une simplification excessive dans certaines installations, et je ne connais pas Fedora. Sous bash, /etc/profileest lu par le shell avant tous les fichiers de votre répertoire personnel. S'il existe un script d'initialisation à l'échelle du système, il dit souvent quelque chose comme
if there is a $HOME/.profile:
source it
elseif bash is my shell and there is a $HOME/.bash_profile:
source that
Pourquoi est-ce ainsi? Une tentative de compatibilité à travers des décennies de dialectes shell. Pourquoi le didacticiel est-il rédigé de cette façon? Le shell Bourne n'est plus souvent utilisé et certaines personnes ne savent même pas qu'il existe un autre shell de type Bourne que bash. Même lorsque la syntaxe Bourne (limitée) est utilisée pour une meilleure compatibilité multiplateforme, elle est souvent exécutée par dashou bash en mode de compatibilité POSIX. En effet, la source réelle du shell Bourne est probablement un composant protégé par des droits d'auteur d'Unix System V qui semble être la propriété de Novell maintenant, mais je n'ai aucune idée de ce qu'ils en font, le cas échéant.
Pour l'utilisateur débutant, utilisez soit $HOME/.profileou $HOME/.bash_profilemais pas les deux et tout ira bien. Puisque vous avez déjà un .bash_profiletravail avec cela, car il peut contenir des éléments spécifiques au système dont votre installation a besoin.