Fazendo comparações no shell com números de ponto flutuante
Publicado por Luciano Hanzo em 25/05/2024
[ Hits: 525 ]
bc
para essas operações.#!/bin/bash
# Fazendo comparações no shell, com números de ponto flutuante.
# Nesse exemplo, mostro como fazer um loop, com números de ponto flutuante.
# Repare que as variáveis estão com a primeira letra maiúscula.
Nu=1.11144 # Inicializa a variável Nu com um valor de ponto flutuante
Max=10.567 # Define o valor máximo para a comparação
# Realiza uma comparação inicial usando bc e armazena o resultado na variável Cond.
Cond=$(bc <<< "$Nu < $Max")
# Enquanto a condição for verdadeira (Cond igual a 1), o loop continuará executando.
while [ $Cond == 1 ]; do
echo "Número : $Nu" # Exibe o valor atual de Nu
# Incrementa Nu em 1.33 usando bc e atualiza o valor de Nu
Nu=$(bc <<< "$Nu + 1.33")
# Atualiza a condição para a próxima iteração do loop
Cond=$(bc <<< "$Nu < $Max")
done
Nu=1.11144
: Define a variável Nu
com um valor inicial de ponto flutuante.Max=10.567
: Define a variável Max
como o valor limite para o loop.Cond=$(bc <<< "$Nu < $Max")
: Utiliza a calculadora bc
para comparar Nu
com Max
. O resultado da comparação (1
para verdadeiro ou 0
para falso) é armazenado na variável Cond
.while [ $Cond == 1 ]; do
: O loop continuará executando enquanto Cond
for igual a 1
(ou seja, enquanto Nu
for menor que Max
).echo "Número : $Nu"
: Exibe o valor atual de Nu
no terminal.Nu=$(bc <<< "$Nu + 1.33")
: Incrementa Nu
em 1.33
usando bc
e atualiza o valor de Nu
.Cond=$(bc <<< "$Nu < $Max")
: Recalcula a condição para a próxima iteração do loop.bc
. Adaptar este script às suas necessidades específicas permitirá que você realize operações matemáticas mais complexas diretamente no seu shell script.OverWatch 2 - Abrindo portas do jogo no Iptables.
Algoritmo para converter minutos em hora
SED - salvar resultados em novo arquivo
Como fazer o Linux ignorar um ping
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (7)