logo

Bash se mais

Neste tópico, entenderemos como usar instruções if-else em scripts Bash para concluir nossas tarefas automatizadas.

As instruções Bash if-else são usadas para executar tarefas condicionais no fluxo sequencial de execução de instruções. Às vezes, queremos processar um conjunto específico de afirmações se uma condição for verdadeira e outro conjunto de afirmações se for falsa. Para realizar este tipo de ações, podemos aplicar o mecanismo if-else. Podemos aplicar a condição com a 'instrução if'.

Sintaxe Bash If Else

Uma sintaxe da instrução if-else no Bash Shell Scripting pode ser definida como abaixo:

 if [ condition ]; then else fi 

Pontos importantes a serem lembrados

  • Podemos usar um conjunto de uma ou mais condições unidas por meio de operadores condicionais.
  • Os comandos de bloco Else incluem um conjunto de ações a serem executadas quando a condição for falsa.
  • O ponto e vírgula (;) após a expressão condicional é obrigatório.

Confira os exemplos a seguir que demonstram o uso da instrução if-else no Bash Script:

Exemplo 1

O exemplo a seguir consiste em dois cenários diferentes em que na primeira instrução if-else a condição é verdadeira e na segunda instrução if-else a condição é falsa.

 #!/bin/bash #when the condition is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' else echo '10 is not greater than 3.' fi #when the condition is false if [ 3 -gt 10 ]; then echo '3 is greater than 10.' else echo '3 is not greater than 10.' fi 

Saída

Declaração Bash If Else

Na primeira expressão if-else, a condição ( 10 -gt 3 ) é verdadeira e, portanto, a instrução no bloco if é executada. Enquanto na outra expressão if-else, a condição ( 3 -gt 10 ) é falsa e, portanto, a instrução no bloco else é executada.

Exemplo 2

Neste exemplo, explicamos como usar múltiplas condições com a instrução if-else no Bash. Usamos operadores lógicos bash para unir múltiplas condições.

 #!/bin/bash # When condition is true # TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 9 || 2 -lt 1 || 25 -gt 20 ]]; then echo 'Given condition is true.' else echo 'Given condition is false.' fi # When condition is false #TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 8 || 3 -gt 4 || 8 -gt 8 ]]; then echo 'Given condition is true.' else echo 'Given condition is not true.' fi 

Saída

Declaração Bash If Else

Instrução Bash If Else em uma única linha

Podemos escrever uma 'instrução if-else' completa junto com os comandos em uma única linha. Você precisa seguir as regras fornecidas para usar a instrução if-else em uma única linha:

  • Use ponto e vírgula (;) no final das instruções nos blocos if e else.
  • Use espaços como delimitador para anexar todas as instruções.

Um exemplo é dado abaixo demonstrando como usar a instrução if-else em uma única linha:

Exemplo

 #!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then echo 'The value you typed is greater than 9.'; else echo 'The value you typed is not greater than 9.'; fi 

Saída

Quando inserimos um valor como 25, a saída será semelhante a:

Declaração Bash If Else

Bash aninhado se mais

Assim como a instrução if aninhada, a instrução if-else também pode ser usada dentro de outra instrução if-else. É chamado if-else aninhado em scripts Bash.

A seguir está um exemplo que explica como usar a instrução if-else aninhada no Bash:

Exemplo

 #!/bin/bash read -p &apos;Enter a value:&apos; value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo &apos;$value&gt;9, $value<11' else echo 'the value you typed is greater than 9.' fi not < pre> <p> <strong>Output</strong> </p> <p>If we enter 10 as value, then the output will look like this:</p> <img src="//techcodeview.com/img/bash-tutorial/63/bash-if-else-4.webp" alt="Bash If Else Statement"> <h2>Conclusion <p>In this topic, we have learned about the syntax and usage of <strong>Bash if-else</strong> statement with the examples.</p> <hr></h2></11'>