A estrutura do comando case no script shell linux serve como se fosse um selector onde você escolhe qual opção deseja prosseguir, pra entender melhor imagine que você está em um site e pede pra você fazer certas escolhas como por exemplo opção 1 , opção 2 , opção 3, assim por diante e cada uma dessas opções irá te levar a um determinado lugar ou executa uma determinada ação.
É praticamente isso que essa estrutura faz cria uma lista de opções e você escolhe a opção desejada.
O ideal pra você entender bem é copiar o script e executar pra ver o que está acontecendo assim dessa forma você pratica e absorve o conhecimento e fica mais fácil pra aplicar as outras estruturas de script shell linux, mais vamos ao exemplo no terminal como de costume abra o seu editor de texto favorito e copie o código e execute.
Para você entender melhor o que esse código faz procure copiar e executar no virtualbox, mais eu vou dar uma explicação do que foi escrito aqui.
#!/bin/bash
echo “Olá digite o seu nome para começar”
read nome
echo “O seu nome é ” $nome
echo “O seu nome está correto ?”
O comando read captura o que foi digitado e o comando echo como já aprendemos imprime o valor de uma variável, neste caso foi criado uma variável nome o read armazena tudo o que foi digitado dentro dessa variável e com o comando echo $ mostra o que tem dentro dessa variável nome.
echo “Se estiver correto digite [s] se estiver errado digite [n] para corrigir”
read var
Nesta parte estamos criando um selector de opção [s], [n], que será capturado pelo read e armazenado na variável var.
case $var in
s)echo “Ok o seu nome está correto”
echo “Então “$nome “o que você seja fazer ?”
;;
n)echo “O seu nome está errado ”
echo “Digite novamente o seu nome para prosseguir”
echo “Digite o seu nome novamente”
read nom
echo “Ok agora que o seu nome está certo vamos continuar ?”
echo “Então “$nom “o que você deseja fazer ?”
;;
esac
Neste caso a estrutura case quer saber se a variável que foi criada se os valores que foi digitado como [s] [n] corresponde com os valores que estão dentro da sua estrutura de decisão ou escolha, e ele ira executar a opção que foi escolhida e executar tudo que estiver neste bloco.
sleep 4
echo “Se você está gostando do exemplo do comando case e deseja continuar digite [1] ou se não quiser continuar digite [2]”
read num
case $num in
1)echo “Ok você está gostando de aprender sobre o linux vamos prosseguir”
;;
2)echo “Ok espero você na próxima quando estiver mais interessado no sistema linux bay bay”
exit
;;
esac
Nesta parte eu usei o comando sleep que serve como um temporizador com ele você pode determinar um tempo para que o sistema linux ou kernel execute o próximo comando, e também estou mostrando que a estrutura case pode ser com números, nas suas opções de escolha.
echo “Mais um exemplo de como usar a estrutura case”
echo “Digite [firefox] para navegar na internet ou [fim] para encerrar”
read stri
case $stri in
firefox)echo ‘Ok você escolheu navegar na internet com o firefox após 5 segundos o navegador irá iniciar’
sleep 5
firefox https://treinolinux.com/
;;
fim)echo ‘Ok foi legal ter você por aqui espero que esteja gostando do conteúdo do blogger’
echo’Até mais.’
;;
esac
Aqui mostrando que também aceita frases, resumindo para usar a estrutura case você precisa ter em mente a forma de escrever essa estrutura se mudar algo ou esquecer algo não ira funcionar, e é isso espero que tenha sido de ajuda treine sempre no virtualbox que é mais seguro, procure inventar condições seja criativo.