logo

Bash se

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

se mais em java

Bash se as declarações forem benéficas. Eles são usados ​​para realizar tarefas condicionais no fluxo sequencial de execução de instruções. As instruções If geralmente nos permitem tomar decisões em nossos scripts Bash. Eles nos ajudam a decidir se devemos ou não executar um código com base na condição que podemos definir.

Instruções if básicas

Uma instrução if básica ordena que, se uma condição específica for verdadeira, execute apenas um determinado conjunto de ações. Se não for verdade, não execute essas ações. A instrução If é baseada no seguinte formato:

Sintaxe

 if [ expression ]; then statements fi 

A afirmação entre então e ser (Se for ao contrário) será executado somente se a expressão (entre colchetes) for verdadeira.

Observação:Observe os espaços utilizados na primeira linha e ponto e vírgula no final da primeira linha; ambos são de uso obrigatório.Se declaração condicionaltermina comser.

  • Para usar múltiplas condições com o operador AND:
 if [ expression_1 ] && [ expression_2 ]; then statements fi 
  • Para usar múltiplas condições com o operador OR:
 if [ expression_1 ] || [ expression_2 ]; then statements fi 
  • Para expressões compostas com operadores AND e OR, podemos usar a seguinte sintaxe:
 if [ expression_1 && expression_2 || expression_3 ]; then statements fi 

A seguir estão alguns exemplos que demonstram o uso da instrução if:

Exemplo 1

Neste exemplo, pegue uma entrada do usuário de qualquer número e verifique se o valor é maior que 125.

 #!/bin/bash read -p ' Enter number : ' number if [ $number -gt 125 ] then echo 'Value is greater than 125' fi 

Saída

Se inserirmos o número 159, a saída será semelhante a:

Declaração Bash If

Exemplo 2

Neste exemplo, demonstramos o uso de declaração if com um cenário simples de comparação de duas strings:

 #!/bin/bash # if condition is true if [ 'myfile' == 'myfile' ]; then echo 'true condition' fi # if condition is false if [ 'myfile' == 'yourfile' ]; then echo 'false condition' fi 

Saída

filmes123 para
Declaração Bash If

Exemplo 3

Neste exemplo, demonstramos como comparar números usando a instrução if:

 #!/bin/bash #if condition (greater than) is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' fi #if condition (greater than) is false if [ 3 -gt 10 ]; then echo '3 is not greater than 10.' fi #if condition (lesser than) is true if [ 3 -lt 10 ]; then echo '3 is less than 10.' fi #if condition (lesser than) is false if [ 10 -lt 3 ]; then echo '10 is not less than 3.' fi #if condition (equal to) is true if [ 10 -eq 10 ]; then echo '10 is equal to 10.' fi #if condition (equal to) is false if [ 10 -eq 9 ]; then echo '10 is not equal to 9' fi 

Saída

Declaração Bash If

Exemplo 4

Neste exemplo, definiremos como usar o operador AND para incluir múltiplas condições na expressão if:

 #!/bin/bash # TRUE && TRUE if [ 8 -gt 6 ] && [ 10 -eq 10 ]; then echo 'Conditions are true' fi # TRUE && FALSE if [ 'mylife' == 'mylife' ] && [ 3 -gt 10 ]; then echo 'Conditions are false' fi 

Saída

Declaração Bash If

Exemplo 5

Neste exemplo, definiremos como usar o operador OR para incluir múltiplas condições na expressão if:

 #!/bin/bash # TRUE || FALSE if [ 8 -gt 7 ] || [ 10 -eq 3 ]; then echo ' Condition is true. ' fi # FALSE || FALSE if [ 'mylife' == 'yourlife' ] || [ 3 -gt 10 ]; then echo ' Condition is false. ' fi 

Saída

Declaração Bash If

Exemplo 6

Neste exemplo, definiremos como usar AND e OR para incluir múltiplas condições na expressão if:

 #!/bin/bash # TRUE && FALSE || FALSE || TRUE if [[ 10 -eq 10 && 5 -gt 4 || 3 -eq 4 || 3 -lt 6 ]]; then echo 'Condition is true.' fi # TRUE && FALSE || FALSE if [[ 8 -eq 8 && 8 -gt 10 || 9 -lt 5 ]]; then echo 'Condition is false' fi 

Saída

df.loc
Declaração Bash If

Opções para instrução If em scripts Bash

A instrução If contém muitas opções para executar uma tarefa específica. Essas opções podem ser usadas para operações de arquivo, operações de string, etc. A seguir estão algumas opções mais usadas:

-
Opções (operadores) Descrição
! EXPRESSÃO Para verificar se EXPRESSION é falso.
-n CADEIA Para verificar se o comprimento de STRING é maior que zero.
-z CADEIA Para verificar se o comprimento de STRING é zero (ou seja, está vazio)
CADE1 == CADE2 Para verificar se STRING1 é igual a STRING2.
STRING1 != STRING2 Para verificar se STRING1 não é igual a STRING2.
INTEIRO1 -eq INTEIRO2 Para verificar se INTEGER1 é numericamente igual a INTEGER2.
INTEIRO1 -gt INTEIRO2 Para verificar se INTEGER1 é numericamente maior que INTEGER2.
INTEGER1 -lt INTEGER2 Para verificar se INTEGER1 é numericamente menor que INTEGER2.
-d ARQUIVO Para verificar se FILE existe e é um diretório.
-e ARQUIVO Para verificar se FILE existe.
-r ARQUIVO Para verificar se FILE existe e a permissão de leitura foi concedida.
-s ARQUIVO Para verificar se FILE existe e seu tamanho é maior que zero (o que significa que não está vazio).
-w ARQUIVO Para verificar se FILE existe e a permissão de gravação foi concedida.
x ARQUIVO Para verificar se FILE existe e a permissão de execução foi concedida.

Aninhado se

Você pode aplicar quantas 'instruções if' forem necessárias em seu script bash. Também é possível usar uma instrução if dentro de outra 'instrução if'. É conhecido como instrução If aninhada.

Exemplo

Neste exemplo, descobriremos 'se um determinado número é maior que 50 e se for um número par' usando a expressão if aninhada.

 #!/bin/bash #Nested if statement if [  -gt 50 ] then echo 'Number is greater than 50.' if ((  % 2 == 0 )) then echo 'and it is an even number.' fi fi 

Saída

Se inserirmos um valor de argumento como 100, a saída será semelhante a:

Declaração Bash If

Conclusão

Neste tópico, discutimos como poderíamos usar a ramificação condicional no fluxo sequencial de execução de instruções com a instrução bash if.