0Pricing
Linux Command Line & Bash Scripting Mastery · Leçon

L’instruction case et la correspondance de motifs

Orientez proprement l’exécution selon de nombreuses valeurs. Apprenez l’instruction case, les motifs glob, les correspondances avec plusieurs motifs et pourquoi cette approche est préférable aux longues chaînes if-elif.

L’instruction case et la correspondance de motifs est une leçon Linux Command Line & Bash Scripting Mastery gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Command Line & Bash Scripting Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Command Line & Bash Scripting Mastery comprend 4 leçons au total.

Pourquoi case ?

Lorsqu’une variable peut prendre de nombreuses valeurs, une longue suite if/elif/elif devient difficile à lire. L’instruction case compare une valeur à des motifs et est bien plus lisible.

Syntaxe de base

Un bloc case teste une valeur par rapport à des motifs, chacun se terminant par ) et par un corps terminé par ;;. L’ensemble du bloc se termine par esac.

case "$fruit" in
  apple) echo "red";;
  banana) echo "yellow";;
esac

Le cas par défaut

Le motif *) correspond à tout et joue le rôle d’un cas par défaut général, comme else.

case "$cmd" in
  start) echo "starting";;
  stop) echo "stopping";;
  *) echo "unknown command";;
esac

Faire correspondre plusieurs motifs

Utilisez | pour faire correspondre plusieurs motifs dans une même branche.

case "$ans" in
  y|Y|yes) echo "Confirmed";;
  n|N|no) echo "Cancelled";;
esac

Motifs glob

Les motifs utilisent la recherche par motifs du shell, et non les expressions régulières : * correspond à toute chaîne, ? à un seul caractère et [...] à une classe de caractères.

case "$file" in
  *.txt) echo "text file";;
  *.jpg|*.png) echo "image";;
esac

Plages de caractères

Les motifs entre crochets correspondent à des plages, ce qui est pratique pour regrouper des éléments selon leur première lettre ou leur chiffre.

case "$ch" in
  [a-z]) echo "lowercase";;
  [0-9]) echo "digit";;
esac

Un menu simple

case est particulièrement adapté aux scripts pilotés par menu, dans lesquels l’utilisateur choisit une option.

read -p "Choice: " opt
case "$opt" in
  1) backup;;
  2) restore;;
  *) echo "Invalid";;
esac

case ou if

Utilisez if pour les conditions booléennes complexes (plages, comparaisons, plusieurs variables). Utilisez case lorsque vous faites des branches selon la valeur ou le motif d’une seule variable.

Mettre la valeur entre guillemets

Mettez la valeur testée ("$var") entre guillemets afin de gérer correctement les valeurs vides ou contenant des espaces.

case "$input" in
  "") echo "empty";;
  *) echo "got: $input";;
esac

Poursuite avec ;;&

Bash prend en charge ;;& pour continuer à tester les motifs suivants après une correspondance, ce qui permet d’exécuter plusieurs branches.

case "$f" in
  *.tar) echo "tar";;&
  *.gz) echo "gzip";;
esac

Distribution selon les arguments

Un usage courant dans les situations réelles consiste à distribuer l’exécution selon le premier argument du script afin d’implémenter des sous-commandes comme dans un outil CLI.

case "$1" in
  init) do_init;;
  build) do_build;;
  *) echo "usage: $0 {init|build}";;
esac

Vérification rapide

Vérifiez votre compréhension.

Récapitulatif

Vous avez découvert l’instruction case : comparer une valeur à des motifs glob, terminer les branches par ;;, combiner les motifs avec |, utiliser *) par défaut et préférer case aux longues suites if-elif pour une distribution claire selon les valeurs et les arguments.

Questions Fréquemment Posées

La leçon « L’instruction case et la correspondance de motifs » est-elle gratuite ?

Oui — le texte complet de « L’instruction case et la correspondance de motifs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Command Line & Bash Scripting Mastery, passe à CoddyKit PRO. Le cours Linux Command Line & Bash Scripting Mastery comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « L’instruction case et la correspondance de motifs » ?

Orientez proprement l’exécution selon de nombreuses valeurs. Apprenez l’instruction case, les motifs glob, les correspondances avec plusieurs motifs et pourquoi cette approche est préférable aux long… Tu pratiques Linux Command Line & Bash Scripting Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Linux Command Line & Bash Scripting Mastery ?

Aucune expérience préalable n'est requise. Linux Command Line & Bash Scripting Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « L’instruction case et la correspondance de motifs » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Linux Command Line & Bash Scripting Mastery ?

Oui. Chaque leçon Linux Command Line & Bash Scripting Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Structures de boucles (for, while)
  2. Fonctions dans les scripts Bash
  3. Arguments et options des scripts ($@, $#, getopts)
  4. L’instruction case et la correspondance de motifs
← Retour à Linux Command Line & Bash Scripting Mastery