Objectif

Configurer son environnement shell de manière a être efficace, confortable et prédictible.

La configuration par défaut n’est pas toujours la meilleure. De plus, celle-ci évolue avec la version considérée de /bin/bash. C’est pourquoi, mieux vaux tenter de maîtriser sa configuration afin de la rendre reproductible et performante.

Sachez cependant, que la configuration SHELL reste un domaine d’expert. Les préconisations et recommandations fournies ici, doivent être adaptées à vos cas d’usages et à leur spécificités.

Configuration par défaut

La version /bin/bash utilisée est

La configuration par défaut de est

Configuration préférentielle proposée

Options qu’il est conseillé d’activer

Les options à activer sont positionnées par la commande shopt -s option-name.

option shoptobjetraisons
cdspellcorrection frappe en mode interactifcorrige automatiquement les erreurs de frappe sur la command cd
dirspellcorrection frappe en mode interactifcorrige automatiquement les petites erreurs de frappes sur les noms de répertoires
direxpandexpansion des répertoiresautorise la saisie interactive des noms de répertoire
checkjobsgestion des jobsinforme moi des jobs et de leur status avant de terminer le shell
checkwinsizegestion du fenêtrageretaille automatiquement les fenêtres
cmdhistgestion de l'historiquesauve les entrées multiligne en une seule entrée dans l'historique des commandes
expand_aliasgestion de aliasactive l'expansion dans la gestion des alias
extglobgestion de la completion des noms de fichiersactive la gestion de la completion
extquotegestion des substitutions de variablesactive la substitution dans les variables
histappendgestion de l'historiqueajoute au même fichier
histreeditgestion de l'historiquepermet la modification des commandes erronées de l'historique avant leur réutilisation
histverifygestion de l'historiquepermet la modification des commandes de l'historique avant leur réutilisation
hostcompletegestion de la complétion sur les noms de hostsactive la complétion des hostnames
interactive_commentsgestion des commentaires en shell interactifactive la possibilité de gérer des commentaires interactivement. Très utile pour créer des procédures et avoir des suggestions
prompt_varsgestion des variables dans le promptje préfère que le shell expande les variables et les calculs dans le prompt
shift_verbosegestion des erreurs sur le nomrbe d'argumentsinforme moi des erreurs si j'excède le nombre réel d'arguments
source_pathrecherche fichier à sourcerrecherche le fichier à sourcer dans la variable PATH

Options laissées à votre libre arbitre

Votre choix d’activation ou de désactivation est libre. Comprenez cependant les implications de vos choix.

option shoptobjetraisons
checkhashhash table de recherche des commandespeut augmenter la performance de votre shell
dotglobgestion de la completion des noms de fichiersconsidérer les fichiers cachés ou non?
execfailgestion des erreurs d'exécutionsortie forcée ou conditionnée?
extdebuggestion du debugà vous de voir, domaine complexe
fail_globgestion de la completion des noms de fichiersgénération erreur explicite si aucun matching
force_fignoregestion de la completion des noms de fichiersliste des extensions à ignorer
globstargestion de la completion des noms de fichiersactivation de la gestion étendue ou non
gnu_errfmtformattage des messages d'erreurformat GNU ou non
huponexistgestion de signaux sur sortie shellenvoi du signal SIGHUP à tous les processus actifs du shell interactif
lithistgestion de l'historiquechoix du terminateur de commande, newline ou point virgule, pour les commandes multi-lignes dans l'historique
mailwarngestion du courrielinformation sur arrivée de courriel
no_empty_cmd_completiongestion des erreursautoriser ou non la complétion vide?
progcompusage des facilités de programmationà vous de choisir la manière dont le shell interprète vos commandes
nullglobextension des patterns de recherche de fichiersà vous de choisir, la gestion de chaîne nulle ou égale à un pattern
lastpipeextension des pipespréférablement off cependant

Options qu’il est conseillé de désactiver

Les options à désactiver sont positionnées par la commande shopt -u option-name.

option shoptobjetraisons
autocdgestion changement de répertoirele changement de répertoire requière explicitement l'usage de la commande cd
cdable_varsgestion changement de répertoirele changement de répertoire en usage de variable SHELL expose explicitement l'usage de la variable par la syntaxe $
compat*gestion des modes de compatibilités inter version /bin/bashje préfère le comportement standard du shell dans sa version
nocaseglobgestion de la casse dans le matching conserver le matching ne confondant pas majuscules et minuscules
nocasematchgestion de la casse dans le matching conserver le matching ne confondant pas majuscules et minuscules