Le programme shell /bin/bash (maintenant dénommé
« le
shell ») utilise un ensemble de fichiers de
démarrage pour aider à créer un environnement dans lequel tourner.
Chaque fichier a une utilité spécifique et peut affecter les
environnements de connexion et interactifs différemment. Les fichiers
dans le répertoire /etc
fournissent les
paramètres globaux. Si un fichier équivalent existe dans le
répertoire personnel, il peut écraser les paramètres globaux.
Un shell de connexion interactif est démarré après une tentative de
connexion réussie, avec /bin/login, en lisant le fichier
/etc/passwd
. Un shell interactif de
non-connexion est démarré par la ligne de commande (par exemple
[prompt]$
/bin/bash). Un shell de
non-connexion est typiquement présent lorsqu'un script shell est
lancé. Il n'est pas interactif car il parcoure un script et n'attend
pas d'entrée utilisateur entre les commandes.
Pour plus d'informations, voir info bash sous la section Fichiers de démarrage de Bash et Shells interactifs, et Ficihers de démarrage de Bash dans CBLFS.
Les fichiers /etc/profile
et
~/.bash_profile
sont lus lorsque le
shell est invoqué comme un shell de connexion interactif. Créez un
fichier /etc/profile
de base qui lira
les informations de régionalisation dans /etc/locale.conf
et chargera les fichiers
d'autocomplétion de Bash qui se trouvent sur le système. Ce script
permet aussi d'initialiser la variable d'environnement INPUTRC
qui permet à Bash et Readline d'utiliser
/etc/inputrc
.
cat > /etc/profile << "EOF"
# Begin /etc/profile
source /etc/locale.conf
for f in /etc/bash_completion.d/*
do
if [ -e ${f} ]; then source ${f}; fi
done
unset f
export INPUTRC=/etc/inputrc
# End /etc/profile
EOF