Como faço para comparar números em bash?

Como faço para comparar números em bash?
Você aprendeu sobre as muitas operações de comparação que podem ser utilizadas para contrastar variáveis ​​na festa. Porém, às vezes, você pode enfrentar inúmeras situações nas quais deve desenvolver scripts para realizar tarefas específicas e executar o script várias vezes com base em valores específicos de números inteiros em bash. Nessas situações, podemos utilizar os operadores de bash para fazer comparações de números inteiros.

Diferentes maneiras de comparar variáveis ​​inteiras em scripts de bash:

Para comparação de números inteiros, usaremos dois dos operadores importantes no Bash para obter as comparações que são quadradas e aparelhos duplos.

Maneira 01: aparelho quadrado único

Os aparelhos quadrados “[]” também são chamados de aparelho quadrado único para testar o comando em scripts de bash. Vamos incluir alguns exemplos que demonstram a idéia de scripts de bash no Linux, para que possamos implementar rapidamente os vários operadores do Bash. Aqui estão alguns exemplos de uso de diferentes operadores em aparelhos quadrados únicos.

Exemplo 01: Uso de operadores “-eq” e “-ne”

Vamos colocar em prática o operador "-eq", que determina se várias variáveis ​​são equivalentes a scripts de bash como a demonstração inicial de um operador de comparação. Para começar a colocar o exemplo em prática, devemos primeiro criar um arquivo de script bash usando a palavra -chave "touch" no nome do arquivo e adicionando a extensão "sh". Todo o comando de criação de arquivos é o seguinte:

Linux@linux-virtualbox: ~ $ touch compare.sh

Quando o comando mencionado é inserido, um arquivo chamado “Compare.sh ”será produzido. Para que possamos colocar o código em ação, então queremos entrar no editor "nano". Para conseguir isso, adicionaremos o “Compare.comando sh ”após a palavra -chave“ nano ”, como mostrado abaixo:

Linux@linux-virtualbox: ~ $ nano compare.sh

O editor de nano será lançado após a entrada é pressionado. Para que possamos comparar os dois números inteiros, temos que escrever o código necessário nesta seção.

1: igual a operador “-eq”

Usamos duas variáveis ​​neste código chamado "variável1" e "variável2" e usamos a palavra -chave "leitura" que obterá os valores dessas variáveis ​​do usuário no tempo de execução, respectivamente. A declaração "se" foi então usada para determinar se os números inteiros são iguais.

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
se [$ variable1 -eq $ variable2];
então
eco "Ambas as variáveis ​​inteiras de entrada são iguais ..."
outro
eco "Ambas as variáveis ​​inteiras de entrada não são iguais ..."
fi

Para fechar o editor Nano depois de terminar de escrever o programa, digite “Ctrl + X.”Então, voltamos ao terminal principal do Linux mais uma vez. Escreva "Bash" e o nome do arquivo para executar o código.

Linux@linux-virtualbox: ~ $ Bash Compare.sh

O resultado da execução do código mostrado acima é visto aqui:

Digite uma variável inteira de entrada1:
100
Digite uma variável inteira de entrada2:
100
Ambas as variáveis ​​inteiras de entrada são iguais…

2: Não é igual a operador "-ne"

Agora, usaremos o operador de comparação "-ne", o que significa "não igual a". Através deste operador, verificaremos se "variável1" não é igual a "variável2" no script de bash. Para isso, fizemos algumas modificações no mesmo arquivo acima que é “Compare. sh ”. No código modificado, acabamos de alterar os valores e o operador "-eq" com "-ne", como mostrado abaixo:

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
se [$ variável1 -ne $ variável2];
então
eco "Ambas as variáveis ​​inteiras de entrada não são iguais ..."
outro
eco "Ambas as variáveis ​​inteiras de entrada são iguais ..."
fi

Aqui está a saída desejada mostrada na imagem abaixo:

Digite uma variável inteira de entrada1:
50
Digite uma variável inteira de entrada2:
100
Ambas as variáveis ​​inteiras de entrada não são iguais ..

Exemplo 02: Uso de operadores “-gt” e “-LT”

Esta é outra ilustração de como usar os operadores de comparação "-gt" e "-lt" no código. Avaliaremos se "variável1" é maior que ou menor que "variável2" na instância.

1: maior que o operador “-GT”

Primeiro, determinamos se a variável 1 excede ou não excede a variável 2. O trecho de código que demonstra como o operador “-GT” é implementado é mostrado abaixo.

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
se [$ variable1 -gt $ variable2];
então
eco "a variável1 é maior que a variável2 ..."
outro
eco "A variável1 não é maior que a variável2 ..."
fi

Quando executamos o script, o resultado mostrou que "variável1" era maior que "variável2".

Digite uma variável inteira de entrada1:
98
Digite uma variável inteira de entrada2:
96
A variável1 é maior que a variável2…

2: Menos que o operador “-LT”

Agora, usando o operador "-LT" em scripts de bash, determinaremos se "variável1" é menor que "variável2" ou não.

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
se [$ variable1 -lt $ variable2];
então
eco "a variável1 é menor que variável2 ..."
outro
eco "A variável1 não é menor que variável2 ..."
fi

Considere os resultados do exemplo dado acima:

Digite uma variável inteira de entrada1:
96
Digite uma variável inteira de entrada2:
98
A variável1 é menor que variável2…

Exemplo 03: Uso do operador “-ge” e “-le”

Neste exemplo, verificaremos se a variável1 é maior que ou menor que a variável2 e se pode ser igual ou não igual a variável2.

1: maior ou igual ao operador "-ge":

Vamos usar o operador "-ge" para verificar se a "variável1" contém um valor maior ou valor equalizado para a "variável2".

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
se [$ variável1 -ge $ variável2];
então
eco “A variável1 é maior ou igual a variável2…”
outro
eco "a variável1 não é maior do que ou não igual a variável2 ..."
fi

Escrevendo o “Bash Compare.SH ”, temos a saída desejada:

Digite uma variável inteira de entrada1:
25
Digite uma variável inteira de entrada2:
24
A variável1 é maior ou igual a variável2…

2: Menos ou igual ao operador "-le"

Agora, empregaremos o operador "-le" no código existente para que possamos verificar se o valor de "variável1" é menor ou igual ao valor "variável2".

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
se [$ variável1 -le $ variável2];
então
eco “A variável1 é menor ou igual a variável2…”
outro
eco "A variável1 não é menor ou não igual a variável2 ..."
fi

Veja a saída no terminal Linux:

Digite uma variável inteira de entrada1:
11
Digite uma variável inteira de entrada2:
11
A variável1 é menor ou igual a variável2…

Maneira 02: aparelho quadrado duplo

Os aparelhos duplos "[]]] fazem o mesmo trabalho que aparelho quadrado único em bash. Mas em troca, a festa não retornará nada, exceto 0 se a condição for verdadeira e retornará 1 se a condição for falsa. Agora, vamos implementar diferentes exemplos da segunda maneira de usar o operador de comparação no script bash.

Exemplo 01: Uso do () operador

A seguir, é apresentada uma situação especificada de um suporte quadrado duplo, no qual aplicaremos os “>” e “<” indicators to determine if the value of “variable1” is greater than or less than the “variable2” parameter. First, we have created an entirely new file for the double square brackets technique for that:

Linux@linux-virtualbox: ~ $ touch duplo.sh

Usamos o comando nano para entrar no editor Nano:

Linux@linux-virtualbox: ~ $ nano duplo.sh

Nosso editor atual é o editor de nano. Vamos começar escrevendo algum código:

1: Menos que “<” Operator

Aqui está o exemplo de menos do que, onde temos duas variáveis, e obteremos os valores do usuário, para que usamos "Leia". Em seguida, realizaremos a operação menor que nessas variáveis.

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
if (($ variável1 < $variable2 ));
então
eco "a condição é verdadeira"
eco "retornar 0"
outro
eco "a condição é falsa"
eco "Return 1"
fi

Para compilar o script, usamos o comando "Bash" junto com o nome do arquivo:

Linux@Linux-virtualBox: ~ $ Bash Double.sh

Aqui está a saída:

Digite uma variável inteira de entrada1:
76
Digite uma variável inteira de entrada2:
102
A condição é verdadeira
Retornar 0

2: maior que o operador ">"

Agora, usaremos o próximo operador, o símbolo ">", para determinar se o valor "variável1" é maior ou não. Como você pode ver, neste caso:

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
if (($ variável1> $ variável2));
então
eco "a condição é verdadeira"
eco "retornar 0"
outro
eco "a condição é falsa"
eco "Return 1"
fi

Após a execução do script no terminal Linux, obtivemos esta saída:

Digite uma variável inteira de entrada1:
27
Digite uma variável inteira de entrada2:
22
A condição é verdadeira
Retornar 0

Exemplo 02: Uso de (=) operadores

Agora que o segundo exemplo foi implementado, podemos usar o operador de script Bash “> =” para determinar se o valor de variável1 é menor ou igual ao valor de variável2.

1: menor ou igual a “<=” Operator

Nesse caso, verificaremos o valor menor ou igual nessas variáveis ​​e imprimiremos a saída.

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
if (($ variável1 <= $variable2 ));
então
eco "a condição é verdadeira"
eco "retornar 0"
outro
eco "a condição é falsa"
eco "Return 1"
fi

O resultado da demonstração acima mencionada é exibida na captura de tela abaixo:

Digite uma variável inteira de entrada1:
65
Digite uma variável inteira de entrada2:
65
A condição é verdadeira
Retornar 0

2: maior ou igual a “> =” operador

No exemplo abaixo, o operador "> =" do script de bash é usado para verificar se "d1" e "d2" têm valores maiores ou iguais.

eco "Digite uma variável inteira de entrada1:"
Leia variável1
eco "Digite uma variável inteira de entrada2:"
Leia variável2
if (($ variável1> = $ variable2));
então
eco "a condição é verdadeira"
eco "retornar 0"
outro
eco "a condição é falsa"
eco "Return 1"
fi

Seguindo os resultados pretendidos do exemplo:

Digite uma variável inteira de entrada1:
44
Digite uma variável inteira de entrada2:
44
A condição é verdadeira
Retornar 0

Conclusão

Aprendemos como usar o script Bash para comparar números inteiros. Além disso, abordamos como usar vários operadores em um script de bash. Com explicações completas, construímos vários exemplos desses operadores em scripts de basquete.