Comandos Linux

Comando de Caso BASH

Comando de Caso BASH

O comando Bash case é usado para tomar as medidas adequadas, comparando dados como a instrução if. Funciona como uma instrução switch-case de outras linguagens de programação padrão. Este comando começa com a instrução 'case' e termina com a instrução 'esac'. Nenhuma instrução break é usada no comando case e colchetes duplos (;;) são necessários para mencionar a (s) instrução (ões) para qualquer correspondência particular. Este comando expande a expressão e tenta combinar com o padrão dado e o código de status de saída deste comando será zero se nenhuma correspondência for encontrada. Alguns exemplos comuns de declarações de caso são mostrados neste tutorial.

Exemplo-1: declaração de caso simples

Uma única expressão condicional é usada no comando bash case para gerar a saída com base na condição de correspondência. Crie um arquivo bash chamado caso 1.sh com o seguinte script bash. O script pegará um valor de string e combinará o valor com cada expressão. O script a seguir irá gerar “Nenhuma entrada encontrada” se nenhuma expressão correspondente existir,
caso 1.sh

#!/ bin / bash
echo "Digite seu nome"
ler o nome
caso $ name em
Yesmin)
echo "Sua cor favorita é azul" ;;
Fahmida)
echo "Sua bebida favorita é Sprite" ;;
*)
echo "Nenhuma entrada encontrada" ;;
esac

Execute o script.

$ bash case1.sh

Resultado:

O arquivo é executado com uma entrada válida e inválida aqui para testar a saída.

Exemplo-2: declaração de múltiplos casos com barra vertical

Várias expressões de caso podem ser aplicadas no script bash para executar diferentes tipos de instruções. O símbolo de barra vertical (|) pode ser usado para atribuir as expressões múltiplas. Crie um arquivo bash chamado case2.sh com o seguinte script. Depois de executar o script, se o valor de entrada corresponder a qualquer expressão, o valor de texto correspondente será impresso.
case2.sh

#!/ bin / bash
echo "Digite o seu número de identificação"
ler ID
caso $ ID em
65341)
echo "Sua posição é a 1ª" ;;
97564 | 88453)
echo "Sua posição é a 2ª" ;;
45087)
echo "Sua posição é a 3ª" ;;
*)
echo "ID inválida" ;;
esac

Execute o script .

$ bash case2.sh

Resultado:

Este script também funciona como o exemplo anterior. A única diferença é que os múltiplos valores de expressão são testados para uma única saída.

Exemplo-3: Como sair do bloco de instrução case / esac

Quando o comando bash case é usado em um loop infinito, o comando de saída deve ser usado para encerrar o loop. Este exemplo mostra como esses tipos de tarefa podem ser realizados. Crie um arquivo de texto chamado case3.sh com o seguinte script. Este script terá qualquer número de 1 a 3 como entrada. Se a entrada for 1, então dois números serão adicionados, se a entrada for 2, então dois números serão subtraídos e se o número de entrada for 3, então dois números serão multiplicados. A saída será "entrada inválida" se o número de entrada for maior que 3 ou menor que 1 ou vazio.
case3.sh

#!/ bin / bash
#!/ bin / bash
enquanto (verdadeiro)
Faz
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
echo "Tipo 1 ou 2 ou 3"
leia ans
case $ ans em
1) echo "A soma de $ a e $ b é $ x & exit" ;;
2) echo "A subtração de $ a e $ b é $ y & exit" ;;
3) echo "A multiplicação de $ a e $ b é $ z & exit" ;;
*) echo "Entrada inválida"
esac
feito

Execute o script.

$ bash case3.sh

Resultado:

O script continuará a ser executado até que ctrl + c seja pressionado.

Exemplo 4: Verificando o valor do argumento da linha de comando vazio

A variável de argumento da linha de comando pode ser usada na instrução bash case. Crie um arquivo chamado case4.sh com o seguinte script que irá verificar o valor da segunda variável de argumento.

#!/ bin / bash
caso "$ 2" em
"Ubuntu")
echo "O segundo argumento é $ 2."
;;
"CentOS")
echo "O segundo argumento é $ 2."
;;
"")
echo "O segundo argumento está vazio."
;;
esac

Execute o script.

$ bash case4.sh

Resultado:

Aqui, o script é executado sem nenhum segundo valor de argumento da linha de comando pela primeira vez e a saída mostra “O segundo argumento está vazio”. Quando o script é executado com um segundo valor de argumento de linha de comando pela segunda vez, nenhuma saída é mostrada.

Exemplo 5: declaração de múltiplos casos com base na entrada do usuário

Crie um arquivo bash chamado case 5.sh com o seguinte script. O script terá o nome do mês como entrada do usuário. Se o nome do mês corresponder a qualquer valor de caso, então uma mensagem de texto em particular será atribuída à variável Mensagem. O valor de entrada deve ser o nome do mês completo ou nome do mês de três caracteres.

case 5.sh

#!/ bin / bash
echo "Digite o nome de um mês"
ler o mês
caso $ mês em
Janeiro | janeiro *)
Message = "21 de fevereiro é o nosso dia internacional das mães."
;;
Fevereiro | fevereiro *)
Message = "21 de fevereiro é o nosso dia internacional das mães."
;;
Março | março *)
Message = "9 de março é o dia mundial dos rins."
;;
Abril | abril *)
Message = "O mês atual não é fevereiro"
;;
Maio | maio *)
Message = "O mês atual é fevereiro"
;;
Junho | junho *)
Message = "O mês atual é fevereiro"
;;
*)
Message = "Nenhuma informação correspondente encontrada"
;;
esac
echo $ Message

Execute o script.

$ bash case5.sh

Resultado:

A seguinte saída aparecerá para o valor de entrada, 'março' ou 'março'.

Exemplo 6: Verifique a variável na instrução bash case

Qualquer valor de string pode ser impresso verificando o valor da variável de argumento da linha de comando. Crie um arquivo de texto chamado case6.sh com o seguinte script. Neste exemplo, o valor da primeira variável de argumento é verificado e se o valor estiver vazio, uma string “Eu gosto de programação bash” será impressa.

case6.sh

#!/ bin / bash
estojo $ 1 em
("") echo "Eu gosto de programação bash";
esac

Execute o script.

$ bash case6.sh

Resultado:

Este script é executado com e sem primeiros argumentos. Não haverá saída se nenhuma variável de argumento da linha de comando for aprovada.

Conclusão

Diferentes usos do comando bash case são mostrados neste artigo. Se os leitores praticarem esses exemplos apropriadamente, será mais fácil para eles resolverem muitos problemas de programação em bash.

Ferramentas úteis para jogadores de Linux
Se você gosta de jogar no Linux, é provável que tenha usado aplicativos e utilitários como Wine, Lutris e OBS Studio para melhorar a experiência de jo...
Jogos HD Remasterizados para Linux que nunca tiveram uma versão Linux anterior
Muitos desenvolvedores e editores de jogos estão apresentando remasterização em HD de jogos antigos para estender a vida da franquia, por favor, os fã...
Como usar o AutoKey para automatizar jogos Linux
AutoKey é um utilitário de automação de desktop para Linux e X11, programado em Python 3, GTK e Qt. Usando sua funcionalidade de script e MACRO, você ...