Estrutura case - Linux
A estrutura case
case expressão in valor1) conjunto_comandos1 ;; valor2) conjunto_comandos2 ;; valorN) conjunto_comandosN ;; esac
A estrutura começa com a palavra case
esac
case
Cada bloco de valor possui o seguinte formato:
valor) comando ;;
Vamos considerar um exemplo simples. Definimos o script hello
#!/bin/bash
# Script que utiliza a estrutura case
# variável cujo valor será comparado com um conjunto de valores
num=2
case $num in
1)
echo "num = 1"
;;
2)
echo "num = 2"
;;
3)
echo "num = 3"
;;
esac
echo "Fim do programa"
exit 0
A variável num
case
1) num=2 # alterando o valor da variável echo "num = 1" ;;
Mesmo que o valor da variável num
programicio@Programicio:~$ bash hello num = 1 Fim do programa
Valor Padrão
No exemplo acima, o valor da variável foi comparado com três números. No entanto, o valor da variável pode representar outros números. Se num
*
#!/bin/bash
# Script que utiliza a estrutura case
# variável cujo valor será comparado com um conjunto de valores
num=4
case $num in
1)
echo "num = 1"
;;
2)
echo "num = 2"
;;
*)
echo "Valor desconhecido"
;;
esac
echo "Fim do programa"
exit 0
Nesse caso, se a variável num
echo "Valor desconhecido"
programicio@Programicio:~$ bash hello Valor desconhecido Fim do programa
Também é possível verificar vários valores em um único bloco. Para isso, separam-se os valores comparados com a barra vertical |
#!/bin/bash
# Script que utiliza a estrutura case
# variável cujo valor será comparado com um conjunto de valores
num=2
case $num in
1|2|3)
echo "num é igual a 1, 2 ou 3"
;;
4)
echo "num é igual a 4"
;;
*)
echo "Valor desconhecido"
;;
esac
echo "Fim do programa"
exit 0
No primeiro bloco, comparamos num
num
programicio@Programicio:~$ bash hello num é igual a 1, 2 ou 3 Fim do programa