Comando case no Linux (comparar valores) [Guia Básico]

O comando case no Linux é uma forma inteligente de se comparar o valor que algo com vários padrões.

Caso uma ocorrência for positiva, ele permite que se execute comandos.

Cada case é uma expressão que corresponde a um padrão.

O operador “)” termina uma lista de padrões e inicia uma lista de comandos.

O que separa um padrão de outro é “;;“.

Ao fim do case, deve-se terminar com a instrução esac (case ao contrário).

Exemplo de um script que dependendo do UID do usuário imprime uma mensagem diferente:

#!/bin/bash
ID=$(id -u)
case "$ID" in
   0)
      echo "Você é o root.";
      echo "Parabens!"
   ;;
   1000)
      echo "Você é o Uirá."
   ;;
   100[1-9])
      echo "Vocé é outro usuário"
esac
echo "fim";

Se o valor da variável ID for 0, irá imprimir uma mensagem de parabéns. Se for igual a 1000, imprime “você é o Uirá”. Se for entre 1001 e 1009, imprime “Você é outro usuário.

Se executado com o usuário uira, que tem o UID igual a 1000:

$ ./meucase 
Você é o Uirá.
fim

Se executado como root:

$ sudo ./meucase 
Você é o root.
Parabens!
fim

case é melhor que usar várias vezes o comando “if” para comparar algo com vários padrões.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe