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.
Sommaire
Le shopt intégré
le shopt
Built-in fait partie de toutes les versions du shell 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 shopt
les options seront.
Si quelque chose ne semble pas fonctionner sur votre machine, vérifiez man
entrée de page pour Bash et vérifiez que l’option est disponible dans votre version de shopt
.
Nous couvrons tous les shopt
options ci-dessous. Nous décrivons également comment l’utiliser et partageons quelques exemples. De là, vous pouvez consulter la page de manuel de Bash ou le manuel de référence GNU Bash pour voir si l’une de ces options semble utile ou attrayante.
Certains shopt
Les options sont activées par défaut et font partie du comportement par défaut de Bash. Vous pouvez activer un shopt
option comme une 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 y a 53 shopt
options. Si vous utilisez le shopt
commande sans aucune option, il les répertorie. Si nous acheminons la sortie à travers le wc
commande, il comptera les lignes, les mots et les caractères pour nous. Parce que chacun shopt
l’option est sur sa propre ligne, le nombre de lignes est le nombre d’options.
Nous tapons ce qui suit:
shopt | wc
Pour voir toutes les options, nous pouvons diriger la sortie via le column
commande pour afficher les noms des options dans les colonnes, ou nous pourrions le diriger vers less
.
Nous tapons ce qui suit:
shopt | column
Trouver shopt dans le manuel Linux
La section traitant shopt
et ses options se trouvent 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 le rechercher dans le manuel.
Pour ce faire, ouvrez le manuel dans la section Bash:
man bash
Dans le manuel, appuyez sur /
pour lancer une recherche. Tapez ce qui suit, puis appuyez sur Entrée:
assoc_expand_once
Le début de la shopt
La section option apparaîtra dans le man
fenêtre.
Options de réglage et de désactivation
Pour définir et désactiver shopt
options, 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 le -s
et -u
options sans utiliser de nom d’option. Ce qui provoque shopt
pour répertorier les options activées et désactivées.
Tapez ce qui suit:
shopt -s
shopt -u | column
Vous pouvez utiliser un shopt
option sans le -s
ou -u
commandes pour voir l’état activé ou désactivé de chaque option.
Par exemple, nous pouvons taper ce qui suit pour vérifier le réglage du histverify
option:
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
le histverify
L’option modifie la façon dont un aspect de history
la commande fonctionne. Habituellement, si vous demandez history
pour répéter une commande en la référençant par 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 définir le shopt histverify
option sur:
!245
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.
L’option autocd
Avec le autocd
option définie sur on, 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 le autocd
option:
shopt -s autocd
Ensuite, on tape le nom d’un répertoire:
Documents
L’option cdspell
Quand le cdspell
est activée, Bash corrigera 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 le cdspell
option:
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
Bash change dans chaque répertoire, quelles que soient les fautes d’orthographe.
L’option xpg_echo
Quand le xpg_echo
est définie sur on, la commande echo obéira aux caractères échappés, comme n
pour nouvelle ligne et t
pour 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 alors n
dans une chaîne à laquelle nous allons passer echo
:
echo "This is line onenThis is line two"
Le caractère de nouvelle ligne échappé force un saut de ligne dans la sortie.
Cela produit le même comportement que le -e
(activer l’interprétation d’échappement) echo
option, mais xpg_echo
lui permet d’être l’action par défaut.
L’option dotglob
le dotglob
l’option doit être traitée avec un peu de prudence. Il autorise les fichiers et répertoires commençant par un point (.
) à inclure dans les extensions de nom ou «globbing». Ceux-ci sont appelés «fichiers de points» ou «répertoires de points» et ils sont généralement masqués. le dotglob
L’option 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 allumerons le dotglob
option en tapant ce qui suit:
shopt -s dotglob
Nous émettons le même ls
commande pour rechercher des fichiers et des répertoires se terminant par «geek»:
ls *geek
Cette fois, deux fichiers sont trouvés et répertoriés, dont l’un est un fichier à points. Vous devez être prudent avec rm
et mv
quand tu as le dotglob
option activée.
L’option nocaseglob
le nocaseglob
est similaire à l’option dotglob
option, sauf 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 le nocaseglob
option:
shopt -s nocaseglob
Ensuite, nous répétons le ls
commander:
ls how*
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
le gedit
L’éditeur s’ouvre avec le fichier «.bashrc» chargé. Vous en verrez shopt
les entrées y sont déjà.
Vous pouvez ajouter le vôtre shopt
options ici aussi. 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
C’est vrai le shopt
La commande 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 consulter la page de manuel de Bash ou le 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.