Skip to main content

Como escrever um Bash IF-Statement (condicionais)

There are No Forests on Earth ??? Really? Full UNBELIEVABLE Documentary -Multi Language (Junho 2026)

There are No Forests on Earth ??? Really? Full UNBELIEVABLE Documentary -Multi Language (Junho 2026)
Anonim

Com uma instrução if, que é um tipo de instrução condicional, você pode executar ações diferentes dependendo das condições especificadas. Isso efetivamente dá ao sistema a capacidade de tomar decisões.

Um exemplo da forma mais simples de uma declaração if seria:

count = 5 se $ count == 5 então ecoar "$ count" fi

Neste exemplo, a variável "count" é usada para especificar uma condição que é usada como parte da declaração if. Antes que a instrução if seja executada, a variável "count" recebe o valor "5". A declaração if verifica se o valor de "count" é "5". Se esse for o caso, a declaração entre as palavras-chave "then" e "fi" será executada, caso contrário, quaisquer instruções após a instrução if serão executadas. A palavra-chave "fi" é "if" soletrada para trás. A linguagem de script bash usa essa convenção para marcar o final de uma expressão complexa, como uma declaração if ou uma instrução case.

A instrução "echo" mostra seu argumento, neste caso, o valor da variável "count", para a janela do terminal. A indentação do código entre as palavras-chave da instrução if melhora a legibilidade, mas não é necessária.

Se você tiver uma situação em que uma parte do código deve ser executada apenas se uma condição não for verdadeira, você poderá usar a palavra-chave "else" em uma instrução if, como neste exemplo:

count = 5 se $ count == 5 então echo "$ count" else echo "count não é 5" fi

Se a condição "$ count == 5" for verdadeira, o sistema imprimirá o valor da variável "count", caso contrário, imprime a string "count not is 5".

Se você quiser diferenciar entre várias condições, você pode usar a palavra-chave "elif", que é derivada de "else if", como neste exemplo:

if $ count == 5 então echo "count is five" elif $ count == 6 então echo "count is six" else echo "nenhum dos acima" fi

Se "contar" for "5", o sistema imprimirá "contar é cinco". Se "count" não for "5", mas "6", o sistema imprimirá "count is six". Se não for nem "5" nem "6", o sistema imprime "nenhuma das opções acima".

Como você deve ter adivinhado, você pode ter qualquer número de cláusulas "elif". Um exemplo com várias condições "elif" seria:

if $ count == 5 então echo "count is five" elif $ count == 6 então echo "count is six" elif $ count == 7 então echo "count is seven" elif $ count = = 8 então echo "count is eight" elif $ count == 9 então echo "count is nine" else echo "nenhum dos acima" fi

Uma maneira mais compacta de escrever tais declarações com várias condições é o método do caso. Ele funciona de maneira semelhante à instrução if com várias cláusulas "elif", mas é mais conciso. Por exemplo, o trecho de código acima pode ser reescrito com a instrução "case" da seguinte forma:

case "$ count" em 5) echo "count is five"; 6) echo "contagem é seis"; 7) echo "contagem é sete"; 8) echo "contagem é oito"; 9) echo "contagem é nove"; *) echo "nenhum dos acima" esac

Se-instruções são frequentemente usadas dentro de loops for-loops ou while-loops como neste exemplo:

count = 1 done = 0 while $ count -le 9 dorme 1 ((count ++)) se $ count == 5 então continua fi echo "$ count" feito echo Concluído

Você também pode ter instruções if aninhadas. Simplest nested if statement é da forma: if … then … else … if … then … fi … fi. No entanto, if-statement pode aninhar-se com complexidade arbitrária.

Veja também como passar argumentos para um script bash, que mostra como usar condicionais para processar parâmetros passados ​​da linha de comando.

O shell bash fornece outras construções de programação, como for-loops, while-loops e expressões aritméticas.