Changer le comportement du Shell
1. Présentation
Le shell est la coquille qui enveloppe le noyau Linux. Il permet de dialoguer avec ce dernier à travers des milliers de commandes internes et externes couplées à diverses options et paramètres. Le shell est critique pour les administrateurs systèmes, ajuster son comportement permet donc de se faciliter les taches.
Un exemple de comportement classique dans les systèmes Linux est la saisie de la touche « flèche haut » pour revenir sur l'historique des commandes saisies, ce comportement ainsi que plein d'autres sont configurés dans le fichier « inputrc ».
2. Explications
« Inputrc » est le fichier de configuration de la commande readline de Linux, readline étant la bibliothèque qui permet d’interagir avec la ligne de commandes. Elle permet par exemple de lire une ligne saisie par un utilisateur sur le terminal. Ce fichier existe dans deux endroits :
- /etc/inputrc : permet de configurer un comportement par défaut pour tous les utilisateurs du système. Ce fichier est modifiable uniquement par root.
- /home/user/.inputrc : fichier de configuration spécifique à chaque utilisateur et permet de surcharger la configuration par défaut.
Il y a deux façons différentes de configurer des raccourcis avec inputrc, voyons ça de plus près.
Première syntaxe :
set
La syntaxe indiquée ci-dessus permet d'activer une option et de la configurer selon la valeur donnée. Exemple :
set completion-ignore-case On
Cet exemple permet d'ignorer la casse lors de la complétion. La deuxième syntaxe quant à elle est la suivante :
<code touches clavier>: action
Lors de l’appuie sur une touche ou de plusieurs touches, l'action est exécutée. On peut avoir des actions pré-configurées comme dans l'exemple ci-dessous :
"\e[A":history-search-backward
Dans cette exemple [A correspond à la touche flèche haut du clavier (\e étant le caractère de la touche d’échappement). A chaque appuie sur la touche flèche haut, on accède aux dernières commandes saisies sur le terminal. On peut aussi exécuter nos propres commandes :
"\C-e" : "exit\n"
Grâce à cette commande lorsqu’on appuiera sur CTRL+E on sortira du terminal.
Pour plus d'informations sur inputrc et readline, consulter la documentation grâce à la commande suivante :
man bash