Android

Declaração de caso Bash

Bash e Terminal Linux - II - Operações de Diretório

Bash e Terminal Linux - II - Operações de Diretório

Índice:

Anonim

As declarações de maiúsculas e minúsculas são geralmente usadas para simplificar condicionais complexas quando você tem várias opções diferentes. O uso da instrução case em vez das instruções if aninhadas ajudará você a tornar seus scripts bash mais legíveis e fáceis de manter.

A declaração de caso Bash tem um conceito semelhante à declaração de opção Javascript ou C. A principal diferença é que, diferentemente da instrução C switch, a instrução Bash case não continua a procurar uma correspondência de padrão, uma vez que encontrou uma e executou instruções associadas a esse padrão.

Neste tutorial, abordaremos o básico das instruções de caso do Bash e mostraremos como usá-las em seus scripts de shell.

Sintaxe de declaração de caso

A declaração de caso Bash assume o seguinte formato:

case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac

  • Cada instrução de caso começa com a palavra-chave case seguida pela expressão case e pela palavra-chave in . A instrução termina com a palavra-chave esac . Você pode usar vários padrões separados pelo | operador. O operador ) termina uma lista de padrões. Um padrão pode ter caracteres especiais. Um padrão e seus comandos associados são conhecidos como cláusula. Cada cláusula deve ser terminada com ;; .Os comandos correspondentes ao primeiro padrão que corresponde à expressão são executados. É uma prática comum usar o símbolo de asterisco curinga ( * ) como padrão final para definir o caso padrão. Esse padrão sempre corresponderá. Se nenhum padrão for correspondido, o status de retorno será zero. Caso contrário, o status de retorno é o status de saída dos comandos executados.

Exemplo de declaração de caso

Aqui está um exemplo usando a declaração de caso em um script bash que imprimirá o idioma oficial de um determinado país:

languages.sh

#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac

Salve o script personalizado como um arquivo e execute-o na linha de comando.

bash languages.sh

O script solicitará que você insira um país. Por exemplo, se você digitar “Lithuania”, ele corresponderá ao primeiro padrão e o comando echo nessa cláusula será executado.

O script imprimirá a seguinte saída:

Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian

Enter the name of a country: Argentina The official language of Argentina is unknown

Conclusão

Até agora você deve ter um bom entendimento de como escrever declarações de caso bash. Eles são frequentemente usados ​​para passar parâmetros para um script de shell na linha de comando. Por exemplo, os scripts init estão usando instruções de caso para iniciar, parar ou reiniciar serviços.

terminal bash