Comment personnaliser le shell Bash avec shopt

Si vous affinez le comportement de votre shell Bash avec shopt, vous pouvez contrôler plus de 50 paramètres. Nous allons vous montrer comment personnaliser votre système Linux comme vous l’aimez.

Le shopt intégré

Le shopt intégré fait partie de toutes les versions du Coque Bash, il n’est donc pas nécessaire d’installer quoi que ce soit. Le nombre d’options disponibles dans shopt a augmenté régulièrement au fil des ans. Ainsi, plus la version de Bash est ancienne, plus la liste des options shopt sera courte.

Si quelque chose ne semble pas fonctionner sur votre machine, vérifiez l’entrée de page de manuel pour Bash et vérifiez que cette option est disponible dans votre version de shopt.

Nous couvrons toutes les options d’achat ci-dessous. Nous décrivons également comment l’utiliser et partageons quelques exemples. À partir de là, vous pouvez consulter la page de manuel de Bash ou Manuel de référence GNU Bash pour voir si l’une de ces options semble utile ou attrayante.

Certaines options shopt sont activées par défaut et font partie du comportement par défaut de Bash. Vous pouvez activer une option shopt en tant que modification à court terme de Bash. Il reviendra alors au comportement par défaut lorsque vous fermez le shell.

Cependant, si vous souhaitez qu’un comportement modifié soit disponible chaque fois que vous lancez un shell Bash, vous pouvez rendre les modifications permanentes.

Les options shopt

Il existe 53 options de shopt. Si vous utilisez la commande shopt sans aucune option, elle les répertorie. Si nous acheminons la sortie via la commande wc, cela compter les lignes, les mots et les caractères pour nous. Étant donné que chaque option shopt est sur sa propre ligne, le nombre de lignes est le nombre d’options.

Nous tapons ce qui suit:

shopt | wc

shopt | wc dans une fenêtre de terminal.

Pour voir toutes les options, nous pouvons diriger la sortie via la commande de colonne pour afficher les noms des options dans les colonnes, ou nous pourrions le réduire.

  Est-il sûr de prévisualiser votre e-mail?

Nous tapons ce qui suit:

shopt | column

shopt | colonne dans une fenêtre de terminal.

Trouver shopt dans le manuel Linux

La section traitant de shopt et de ses options se trouve dans la section Bash du manuel Linux. La section Bash compte plus de 6 000 lignes. Vous pouvez trouver la description de shopt avec beaucoup de défilement, ou vous pouvez simplement la rechercher dans le manuel.

Pour ce faire, ouvrez le manuel dans la section Bash:

man bash

man bash dans une fenêtre de terminal.

Dans le manuel, appuyez sur / pour lancer une recherche. Tapez ce qui suit, puis appuyez sur Entrée:

assoc_expand_once

Section bash du manuel, avec un terme de recherche entré sur la ligne de commande dans une fenêtre de terminal.

Le début de la section shoptoption apparaîtra dans la fenêtre man.

Le manuel montrant la section des options shopt de la page de manuel Bash dans une fenêtre de terminal.

Options de réglage et de désactivation

Pour définir et désactiver les options shopt, utilisez les commandes suivantes:

-s: définir ou activer.
-u: non défini ou désactivé.

Étant donné que certaines options sont activées par défaut, il est également pratique de vérifier quelles options sont activées. Vous pouvez le faire avec les options -s et -u sans utiliser de nom d’option. Cela amène shopt à lister les options activées et désactivées.

Tapez ce qui suit:

shopt -s

shopt -s dans une fenêtre de terminal.

shopt -u | column

shopt -u | colonne dans une fenêtre de terminal.

Vous pouvez utiliser une option shopt sans les commandes -s ou -u pour voir l’état activé ou désactivé de chaque option.

Par exemple, nous pouvons taper ce qui suit pour vérifier le paramètre de l’option histverify:

shopt histverify

Nous pouvons taper ce qui suit pour l’activer:

shopt -s histverify

Ensuite, nous pouvons taper ce qui suit pour le vérifier à nouveau:

shopt histverify

shopt histverify dans une fenêtre de terminal.

L’option histverify modifie le fonctionnement d’un aspect de la commande d’historique. Habituellement, si vous demandez à l’historique de répéter une commande en la référençant par un numéro, comme! 245, la commande est extraite de l’historique des commandes et exécutée immédiatement.

Si vous préférez examiner une commande pour vous assurer que c’est celle que vous attendiez et la modifier, si nécessaire, tapez ce qui suit pour activer l’option shopt histverify:

!245

! 245 dans une fenêtre de terminal.

La commande est récupérée et présentée sur la ligne de commande. Vous pouvez le supprimer, le modifier ou l’exécuter en appuyant sur Entrée.

  Comment configurer Winepaks sur Linux

L’option autocd

Avec l’option autocd activée, si vous tapez le nom d’un répertoire sur la ligne de commande et appuyez sur Entrée, il sera traité comme si vous aviez tapé cd devant lui.

Nous tapons ce qui suit pour activer l’option autocd:

shopt -s autocd

Ensuite, on tape le nom d’un répertoire:

Documents

shopt -s autocd dans une fenêtre de terminal.

L’option cdspell

Lorsque l’option cdspell est activée, Bash corrige automatiquement les fautes d’orthographe simples et les fautes de frappe dans les noms de répertoire.

Nous tapons ce qui suit pour définir l’option cdspell:

shopt -s cdspell

Pour essayer de changer dans un répertoire en minuscules qui devrait avoir une lettre initiale majuscule, nous tapons ce qui suit:

cd documents

Ensuite, nous pouvons taper ce qui suit pour essayer un nom de répertoire avec un «t» supplémentaire dans son nom:

cd ../Picttures

shopt -s cdspell dans une fenêtre de terminal.

Bash change dans chaque répertoire, quelles que soient les fautes d’orthographe.

L’option xpg_echo

Lorsque l’option xpg_echo est activée, la commande echo obéit aux caractères échappés, comme n pour une nouvelle ligne et t pour une tabulation horizontale.

Tout d’abord, nous tapons ce qui suit pour nous assurer que l’option est définie:

shopt -s xpg_echo

Nous incluons ensuite n dans une chaîne que nous allons passer à echo:

echo "This is line onenThis is line two"

shopt -s xpg_echo dans une fenêtre de terminal.

Le caractère de nouvelle ligne échappé force un saut de ligne dans la sortie.

Cela produit le même comportement que -e (activer l’interprétation d’échappement) echo, mais xpg_echo lui permet d’être l’action par défaut.

L’option dotglob

L’option dotglob doit être traitée avec un peu de prudence. Il permet aux fichiers et répertoires commençant par un point (.) D’être inclus dans les extensions de nom ou le «globbing». Ceux-ci sont appelés «fichiers de points» ou «répertoires de points» et ils sont généralement masqués. L’option dotglob ignore le point au début de leurs noms.

Tout d’abord, nous allons rechercher les fichiers ou répertoires qui se terminent par «geek» en tapant ce qui suit:

ls *geek

Un fichier est trouvé et répertorié. Ensuite, nous allons activer l’option dotglob en tapant ce qui suit:

shopt -s dotglob

Nous émettons la même commande ls pour rechercher les fichiers et répertoires se terminant par «geek»:

ls *geek

ls * geek dans une fenêtre de terminal.

Cette fois, deux fichiers sont trouvés et répertoriés, dont l’un est un fichier à points. Vous devez faire attention avec rm et mv lorsque l’option dotglob est activée.

  Quelles vérifications des antécédents les propriétaires font-ils?

L’option nocaseglob

L’option nocaseglob est similaire à l’option dotglob, sauf que nocaseglob fait ignorer les différences entre les lettres majuscules et minuscules dans les noms de fichiers et les répertoires dans les extensions de noms.

Nous tapons ce qui suit pour rechercher les fichiers ou répertoires commençant par «comment»:

ls how*

Un fichier est trouvé et répertorié. Nous tapons ce qui suit pour activer l’option nocaseglob:

shopt -s nocaseglob

Ensuite, nous répétons la commande ls:

ls how*

Voici comment * dans une fenêtre de terminal.

Deux fichiers sont trouvés, dont l’un contient des lettres majuscules.

Rendre les changements permanents

Les modifications que nous avons apportées ne dureront que jusqu’à ce que nous fermions le shell Bash actuel. Pour les rendre permanents à travers différentes sessions shell, nous devons les ajouter à notre fichier «.bashrc».

Dans votre répertoire personnel, tapez la commande suivante pour ouvrir le fichier «.bashrc» dans l’éditeur de texte graphique Gedit (ou modifiez-le en conséquence pour utiliser l’éditeur que vous préférez):

gedit .bashrc

L’éditeur gedit s’ouvrira avec le fichier «.bashrc» chargé. Vous verrez que certaines entrées shopt y sont déjà.

L'éditeur gedit avec .bashrc chargé dedans et les options shopt en surbrillance.

Vous pouvez également ajouter vos propres options d’achat ici. Une fois que vous les avez ajoutés, enregistrez vos modifications et fermez l’éditeur. Désormais, chaque fois que vous ouvrez un nouveau shell Bash, vos options seront définies pour vous.

Des options à perte de vue

Il est vrai que la commande shopt a beaucoup d’options, mais vous n’avez pas à vous en occuper toutes en même temps, voire jamais. Puisqu’il y en a tellement, il y en a probablement qui ne vous intéresseront pas.

Par exemple, il y en a un tas qui obligent Bash à fonctionner de manière compatible avec des versions spécifiques plus anciennes. Cela peut être utile pour quelqu’un, mais c’est un cas assez spécifique.

Vous pouvez revoir le Bash page de manuel ou Manuel de référence GNU Bash. Décidez des options qui feront la différence pour vous, puis expérimentez-les. Faites juste attention aux options qui affectent la manière dont les noms de fichiers et de répertoires sont développés. Essayez-les avec une commande bénigne, comme ls, jusqu’à ce que vous soyez à l’aise avec eux.