Le programme shell /bin/bash (que l'on nommera simplement "le shell" à partir de maintenant) utilise une collection de fichiers de démarrage pour aider à la création d'un environnement de travail. Chaque fichier a une utilisation spécifique et peut affecter différemment la connexion et les environnements interactifs.
Un shell interactif de connexion est lancé après une identification positive avec /bin/login en lisant le fichier /etc/passwd. Un shell interactif, sans login, est lancé à la ligne de commande (c'est-à-dire [prompt]$/bin/bash). Un shell non-interactif est présent habituellement lorsqu'un script shell tourne. Il est non interactif parce qu'il exécute un script et n'attend pas d'entrée utilisateur entre les commandes.
Pour plus d'informations, voir info bash -- Noeuds: Bash Startup Files et Interactive Shells.
Les fichiers suivants sont nécessaires pour s'assurer que l'environnement correct est lu pour chacune des façons dont le shell peut être appelé: /etc/profile, /etc/bashrc, ~/.bash_profile et ~/.bashrc. Le fichier ~/.bash_logout n'est pas utilisé pour une invocation du shell. Il est lu par le shell quand un utilisateur se déconnecte du système. Les fichiers /etc/profile et ~/.bash_profile sont lus quand le shell est invoqué comme shell interactif de connexion. Le fichier ~/.bashrc est lu quand le shell est invoqué comme shell interactif sans fonction de connexion.
Voici la base d'un /etc/profile. Les commentaires sur ce fichier devraient expliquer tout ce dont vous avez besoin. Pour plus d'informations sur les séquences d'échappement que vous pouvez utiliser pour votre invite (par exemple, la variable d'environnement PS1), voir info bash -- Noeud: Imprimer une invite.
# Début /etc/profile # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Variables d'environnement globales et programmes de démarrage # Les alias et fonctions systèmes doivent aller dans /etc/bashrc. Les # variables d'environnement et les programmes de lancement personnels doivent # aller dans ~/.bash_profile. Les alias et fonctions personnels doivent aller # dans ~/.bashrc. # Fonction d'aide à la gestion des chemins. pathman () { if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then if [ "$2" = "last" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi fi } # Ajout au chemin standard. if [ $(id -u) = 0 ] ; then if [ -d "/usr/local/sbin" ] ; then pathman /usr/local/sbin last fi fi if [ $(id -u) != 0 ] ; then if [ -d "/usr/local/bin" ] ; then pathman /usr/local/bin last fi fi if [ -d "/usr/X11R6/bin" ] ; then pathman /usr/X11R6/bin last fi # Configuration de quelques variables d'environnement. HISTSIZE=1000 PS1="[\u@\h \w]\\$ " # Configuration de la variable d'environnement INPUTRC. if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then INPUTRC=/etc/inputrc fi # Configuration de /bin/ls pour activer le support de la couleur, l'alias se # trouve dans /etc/bashrc. if [ -f "/etc/dircolors" ] ; then eval $(dircolors -b /etc/dircolors) if [ -f "$HOME/.dircolors" ] ; then eval $(dircolors -b $HOME/.dircolors) fi fi export PATH HISTSIZE PS1 LS_COLORS INPUTRC # Fin /etc/profile |
Voici la base d'un /etc/bashrc. Les commentaires dans le fichier devraient expliquer tout ce dont vous avez besoin.
# Début /etc/bashrc # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Les alias et fonctions systèmes # Les alias et fonctions systèmes doivent aller dans /etc/bashrc. Les # variables d'environnement et les programmes de lancement personnels doivent # aller dans ~/.bash_profile. Les alias et fonctions personnels doivent aller # dans ~/.bashrc. # Par défaut, nous voulons mettre en place le masque utilisateur (umask). # Même pour les shells non interactifs et sans login. if [ "$(id -gn)" = "$(id -un)" -a $(id -u) -gt 99 ] ; then umask 002 else umask 022 fi # Met à disposition une commande /bin/ls colorisée. Utilisé avec du code de # /etc/profile. alias ls='ls --color=auto' # Fin /etc/bashrc |
Voici la base d'un ~/.bash_profile. Les commentaires dans le fichier devraient expliquer tout ce dont vous avez besoin.
# Début ~/.bash_profile # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Variables d'environnement et programmes de lancement personnels. # Les alias et fonctions systèmes doivent aller dans /etc/bashrc. Les # variables d'environnement et les programmes de lancement personnels doivent # aller dans ~/.bash_profile. Les alias et fonctions personnels doivent aller # dans ~/.bashrc. if [ -f "$HOME/.bashrc" ] ; then source $HOME/.bashrc fi if [ -d "$HOME/bin" ] ; then pathman $HOME/bin last fi export PATH # Fin ~/.bash_profile |
Voici la base d'un ~/.bashrc. Les commentaires dans le fichier devraient expliquer tout ce dont vous avez besoin.
# Début ~/.bashrc # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Alias et fonctions personnels. # Les alias et fonctions systèmes doivent aller dans /etc/bashrc. Les # variables d'environnement et les programmes de lancement personnels doivent # aller dans ~/.bash_profile. Les alias et fonctions personnels doivent aller # dans ~/.bashrc. if [ -f "/etc/bashrc" ] ; then source /etc/bashrc fi # Fin ~/.bashrc |
Voici la base d'un ~/.bash_logout. Les commentaires dans le fichier devraient expliquer tout ce dont vous avez besoin.
# Début ~/.bash_logout # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Eléments personnels exécutés à la fin de la connexion. # Fin ~/.bash_logout |
Si vous voulez utiliser les fichiers /etc/dircolors ou ~/.dircolors appelés à partir de /etc/profile, alors lancez respectivement ceci: /bin/dircolors -p > /etc/dircolors ou ceci: /bin/dircolors -p > ~/.dircolors. Le fichier dans le répertoire /etc devrait être utilisé pour des configurations globales, et s'il en existe un dans votre répertoire personnel, il surpassera les configurations globales. Il pourrait être une bonne idée de créer un fichier de base .dircolors et de le placer dans le répertoire /etc/skel pour les nouveaux utilisateurs.
Ian Macdonald a écrit une excellente collection d'astuces en tout genre pour améliorer l'environnement de votre shell. Vous pouvez la lire en ligne sur http://www.caliban.org/bash/index.shtml.
Précédent | Sommaire | Suivant |
/etc/issue (Personnaliser votre connexion) | Niveau supérieur | /etc/inputrc |