18/12/2024

Commandes et Système

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

 

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.