Fazendo comparações no shell com números de ponto flutuante
Publicado por Luciano Hanzo em 25/05/2024
[ Hits: 890 ]
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")                                                 
doneNu=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.
Tornando seus scripts amigáveis (executáveis)
Script para enviar ip para o email
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









