0Pricing
DevOps Bootcamp · Aula

A Instrução case e a Correspondência de Padrões

Crie ramificações de forma clara para muitos valores. Aprenda a instrução case, padrões glob, correspondências com vários padrões e por que ela é melhor do que longas cadeias if-elif.

A Instrução case e a Correspondência de Padrões é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Por que usar case?

Quando uma variável pode assumir muitos valores, uma longa cadeia if/elif/elif fica confusa. A instrução case compara um valor com padrões e é muito mais legível.

Sintaxe básica

Um bloco case testa um valor com relação a padrões, cada um terminando em ) e com um corpo encerrado por ;;. O bloco inteiro termina com esac.

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

O caso padrão

O padrão *) corresponde a qualquer coisa, funcionando como um caso padrão abrangente, semelhante a else.

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

Correspondendo a vários padrões

Use | para corresponder a vários padrões em um único ramo.

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

Padrões glob

Os padrões usam expansão glob do shell, não expressões regulares: * corresponde a qualquer texto, ? a um único caractere e [...] a uma classe de caracteres.

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

Intervalos de caracteres

Os padrões entre colchetes correspondem a intervalos, o que é útil para agrupar pelo primeiro caractere ou dígito.

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

Um menu simples

case é especialmente útil em scripts orientados por menus, nos quais o usuário escolhe uma opção.

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

case vs. if

Use if para condições booleanas complexas (intervalos, comparações, várias variáveis). Use case ao ramificar com base no valor ou padrão de uma única variável.

Colocando o valor entre aspas

Coloque o valor testado entre aspas ("$var") para tratar com segurança valores vazios ou que contenham espaços.

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

Continuação com ;;&

O Bash oferece ;;& para continuar testando padrões posteriores depois de uma correspondência, permitindo que vários ramos sejam executados.

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

Despacho de argumentos

Um uso comum no mundo real é escolher uma ação com base no primeiro argumento do script para implementar subcomandos, como em uma ferramenta CLI.

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

Verificação rápida

Teste sua compreensão.

Recapitulação

Você aprendeu a instrução case: compare um valor com padrões glob, encerre os ramos com ;;, combine padrões com |, use *) como padrão e prefira case a longas cadeias if-elif para obter um despacho limpo baseado em valores e argumentos.

Perguntas Frequentes

A aula “A Instrução case e a Correspondência de Padrões” é grátis?

Sim — o texto completo de “A Instrução case e a Correspondência de Padrões” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “A Instrução case e a Correspondência de Padrões”?

Crie ramificações de forma clara para muitos valores. Aprenda a instrução case, padrões glob, correspondências com vários padrões e por que ela é melhor do que longas cadeias if-elif. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “A Instrução case e a Correspondência de Padrões”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Estruturas de Repetição (for, while)
  2. Funções em Scripts Bash
  3. Argumentos e Opções de Scripts ($@, $#, getopts)
  4. A Instrução case e a Correspondência de Padrões
← Voltar para DevOps Bootcamp