Fazendo comparações no shell com números de ponto flutuante
Publicado por Luciano Hanzo em 25/05/2024
[ Hits: 964 ]
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.
Acertando data e hora no Linux
Desligar o PC após concluir download (Chrome e Chromium)
Obtendo um domínio para o seu computador usando conexão ADSL
Backup da pasta de usuário sem copiar os arquivos ocultos
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Como impedir exclusão de arquivos por outros usuários no (Linux)
Formas seguras de instalar Debian Sid (7)
Alguém executou um rm e quase mata a Pixar! (5)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









