Les fichiers de démarrage du shell Bash

Le programme shell /bin/bash (dénommé ci-après « le shell ») utilise une collection de fichiers de démarrage pour aider à la création d'un environnement d'exécution. Chaque fichier a une utilisation spécifique et pourrait avoir des effets différents sur les environnements de connexion et interactif. Les fichiers du répertoire /etc fournissent un paramètrage global. Si un fichier équivalent existe dans le répertoire personnel, il pourrait surcharger les paramètrages globaux.

Un shell interactif de connexion est lancé après une connexion réussie, en utilisant /bin/login, par la lecture du fichier /etc/passwd. Un shell interactif sans connexion est lancé en ligne de commande (c'est-à-dire [invite]$/bin/bash). Un shell non interactif est habituellement présent quand un script shell est en cours d'exécution. Il est non interactif parce qu'il traite un script et n'attend pas une saisie de l'utilisateur entre les commandes.

Pour plus d'informations, voir info bash - N½ud : Bash Startup Files and Interactive Shells.

Les fichiers /etc/profile et ~/.bash_profile sont lus quand le shell est appelé en tant que shell interactif de connexion.

Un fichier /etc/profile de base, ci-dessous, configure quelques variables d'environnement nécessaire au support des langues natives. Les configurer proprement résulte en ce qui suit :

Ce script configure aussi la variable d'environnement INPUTRC qui fait que Bash et Readline utilisent le fichier /etc/inputrc créé précédemment.

Remplacez [ll] ci-dessous avec le code à deux lettres de la langue désirée (par exemple, « en ») et [CC] avec le code à deux lettres du pays approprié (par exemple, « GB »). Il pourrait aussi être nécessaire de spécifier (et ceci est la forme réellement préférée) le codage des caractères (par exemple « iso8859-1 ») après un point (donc le résultat serait « en_GB.iso8859-1 »). Lancez la commande suivante pour plus d'informations :

man 3 setlocale

La liste de toutes les locales supportées par Glibc peut être obtenue en exécutant la commande suivante :

locale -a

Une fois que les bons paramètres de locale ont été déterminés, créez le fichier /etc/profile :

cat > /etc/profile << "EOF"
# Début /etc/profile

export LC_ALL=[ll]_[CC]
export LANG=[ll]_[CC]
export INPUTRC=/etc/inputrc

# Fin /etc/profile
EOF
[Note]

Note

Les locales « C » (par défaut) et « en_US » (celle recommandée pour les utilisateurs de langue anglaise vivant aux États-Unis) sont différentes.

Initialiser le plan de codage du clavier, la police de la console et les variables d'environnement relatives à la locale sont les seules étapes d'internationalisation nécessaires pour supporter les locales qui utilisent habituellement les codages à un seul octet et la direction d'écriture de la gauche vers la droite. Les cas plus complexes (incluant les locales basées sur UTF-8) nécessitent des étapes et des correctifs supplémentaires parce qu'un grand nombre d'applications ont tendance à ne pas fonctionner corrctement dans de telles conditions. Ces étapes et correctifs ne sont pas inclus dans le livre LFS et de telles locales ne sont pas supportées par LFS de toute façon.