O comando case tem a função de controle de fluxo, agindo conforme os resultados exatos.
Sintaxe:
Agora vamos a um exemplo prático:
Neste exemplo de calculadora usando o case, se o usuário digitar 1 ou "um", será guardado este valor na variavel opcao. Esta variavel é adicionada no case. Como foi digita 1, então o programa vai executar as opções do bloco 1.
Se for digitido um número diferente do intervalo entre 1 e 4, o programa da erro, apresentando a mensagem do echo.
Sintaxe:
case $opcao in
1 | um)
opções
opções;;
2 | dois)
opções
opções;;
* )
echo "Esta opção não existe "
esac
Agora vamos a um exemplo prático:
#!/bin/bash
echo "Calculadora básica: "
echo "Escolha o tipo de calculo que desejas fazer: "
echo "#######Operações básicas#################"
echo "1 - Adição"
echo "2 - Subtração"
echo "3 - multiplicação"
echo "4 - Divisão"
echo "#########################################"
read opcao
case $opcao in
1 | um)
echo "Digite os dois numeros que deseja somar"
read n1soma
read n2soma
echo "A soma de "$n1soma + $n2soma" é igual a:"
echo "$n1soma + $n2soma" | bc;;
2 | dois)
echo "Digite os dois numeros que deseja subtrair"
read n1sub
read n2sub
echo "A subtração de "$n1sub - $n2sub" é igual a:"
echo "$n1sub - $n2sub" | bc;;
3 | tres)
echo "Digite os dois numeros que deseja multiplicar"
read n1mult
read n2mult
echo "A multiplicação de "$n1mult * $n2mult" é igual a:"
echo "$n1mult * $n2mult" | bc;;
4 | quatro)
echo "Digite os dois numeros que deseja dividir"
read n1div
read n2div
echo "A Divisão de "$n1div / $n2div" é igual a:"
echo "$n1div / $n2div" | bc;;
* )
echo "Esta opção não existe na calculadora"
sleep 2
clear
./teste.sh;;
esac
Neste exemplo de calculadora usando o case, se o usuário digitar 1 ou "um", será guardado este valor na variavel opcao. Esta variavel é adicionada no case. Como foi digita 1, então o programa vai executar as opções do bloco 1.
Se for digitido um número diferente do intervalo entre 1 e 4, o programa da erro, apresentando a mensagem do echo.
shell script linux - Como usar o comando CASE
Reviewed by Carlos Castro
on
maio 28, 2014
Rating:
Nenhum comentário: