Les .profile
dates remontent à la coquille Bourne originale connue sous le nom de sh
. Étant donné que le shell GNU bash
est (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 sh
commandes soient insérées dans.profile
Par exemple, alias
est une commande intégrée valide de bash
mais inconnue de sh
. Par conséquent, si vous n'aviez qu'un .profile
dans votre répertoire personnel et y mettiez une alias
déclaration, vous vous sh
plaindriez. 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 .profile
fichier présent.
En fait, c'est un peu une simplification excessive dans certaines installations, et je ne connais pas Fedora. Sous bash, /etc/profile
est 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 dash
ou 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/.profile
ou $HOME/.bash_profile
mais pas les deux et tout ira bien. Puisque vous avez déjà un .bash_profile
travail avec cela, car il peut contenir des éléments spécifiques au système dont votre installation a besoin.