Comment personnaliser le shell Bash avec shopt
Publié: 2022-01-29 Si vous affinez le comportement de votre shell Bash avec shopt
, vous pouvez contrôler plus de 50 paramètres. Nous vous montrerons comment personnaliser votre système Linux comme vous l'aimez.
Le magasin Intégré
Le shopt
intégré 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 que vous avez est ancienne, plus la liste des options de shopt
sera courte.
Si quelque chose ne semble pas fonctionner sur votre machine, consultez l'entrée de la page de man
de Bash et vérifiez que cette option est disponible dans votre version de shopt
.
Nous shopt
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 Bash ou le manuel de référence GNU Bash pour voir si l'une de ces options vous semble utile ou attrayante.
Certaines options de 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 ensuite au comportement par défaut lorsque vous fermerez 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 de la boutique
Il y a 53 options shopt
. Si vous utilisez la commande shopt
sans aucune option, elle les répertorie. Si nous dirigeons la sortie via la commande wc
, elle comptera les lignes, les mots et les caractères pour nous. Parce que chaque option shopt
est sur sa propre ligne, le nombre de lignes est le nombre d'options.
Nous tapons ce qui suit :
boutique | toilettes
Pour voir toutes les options, nous pouvons diriger la sortie via la commande column
pour afficher les noms des options dans les colonnes, ou nous pouvons la diriger vers less
.
Nous tapons ce qui suit :
boutique | colonne
Trouver shopt dans le manuel Linux
La section traitant 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 :
coup d'homme
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 section de l'option shopt
apparaîtra dans la fenêtre man
.
CONNEXION: Comment utiliser la commande man de Linux: Secrets cachés et bases
Options de paramétrage et de désactivation
Pour définir et désactiver les options shopt
, utilisez les commandes suivantes :
- -s : Définir ou activer.
- -u : Désactivé 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 qui sont activées et désactivées.
Tapez ce qui suit :
shopt -s
shopt -u | colonne
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 réglage 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
L'option histverify
modifie le fonctionnement d'un aspect de la commande history
. Habituellement, si vous demandez à history
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 revoir une commande pour vous assurer qu'il s'agit bien de celle que vous attendiez et la modifier, si nécessaire, saisissez ce qui suit pour activer l'option shopt histverify
:
!245
La commande est récupérée et présentée sur la ligne de commande. Vous pouvez soit le supprimer, le modifier ou l'exécuter en appuyant sur Entrée.
CONNEXION: Comment utiliser la commande history sous 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.
Nous tapons ce qui suit pour activer l'option autocd
:
shopt -s autocd
Ensuite, on tape le nom d'un répertoire :
Documents
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 en majuscule, nous tapons ce qui suit :
documents cd
Ensuite, nous pouvons taper ce qui suit pour essayer un nom de répertoire avec un "t" supplémentaire dans son nom :
cd ../Images
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éira aux caractères d'échappement, 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 "Ceci est la ligne un\nCeci est la ligne deux"
Le caractère de nouvelle ligne échappé force un saut de ligne dans la sortie.
Cela produit le même comportement que l'option echo
-e
(activer l'interprétation d'échappement), mais xpg_echo
lui permet d'être l'action par défaut.
CONNEXION: Comment utiliser la commande Echo sous Linux
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 "globbing". Ceux-ci sont appelés « fichiers de points » ou « répertoires de points » et ils sont généralement cachés. L'option dotglob
ignore le point au début de leurs noms.
Tout d'abord, nous allons faire une recherche de fichiers ou de répertoires qui se terminent par "geek" en tapant ce qui suit :
c'est *geek
Un fichier est trouvé et répertorié. Ensuite, nous activerons l'option dotglob
en tapant ce qui suit :
shopt -s dotglob
Nous lançons la même commande ls
pour rechercher les fichiers et répertoires se terminant par "geek":
c'est *geek
Cette fois, deux fichiers sont trouvés et répertoriés, dont l'un est un fichier de points. Vous devez être prudent avec rm
et mv
lorsque l'option dotglob
activée.
L'option nocaseglob
L'option nocaseglob
est similaire à l'option dotglob
, sauf que nocaseglob
fait que les différences entre les lettres majuscules et minuscules dans les noms de fichiers et les répertoires sont ignorées dans les extensions de nom.
Nous tapons ce qui suit pour rechercher des fichiers ou des répertoires commençant par "comment":
C'est comme ça*
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
:
C'est comme ça*
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 sur 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 de shopt
y sont déjà.
Vous pouvez également ajouter vos propres shopt
achat ici. Lorsque 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 à les maîtriser toutes en même temps, voire jamais. Comme il y en a tellement, il y en a probablement qui ne vous intéresseront pas.
Par exemple, il y en a beaucoup qui forcent Bash à fonctionner de manière compatible avec des versions spécifiques et plus anciennes. Cela pourrait être utile pour quelqu'un, mais c'est un cas assez particulier.
Vous pouvez consulter la page de manuel Bash ou le manuel de référence GNU Bash. Décidez quelles options vont faire la différence pour vous, puis expérimentez-les. Soyez juste prudent avec les options qui affectent la façon 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.