Fazendo comparações no shell com números de ponto flutuante
Publicado por Luciano Hanzo em 25/05/2024
[ Hits: 1.037 ]
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.
Contar e ordenar a quantidade de ocorrências de cada linha em um arquivo
Shell Script nosso de cada dia - Episódio 1
Apagar linhas comentadas de arquivos
SSH (PuTTY) automatico pelo Windows
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Tentando fazer um "linux ricing" mas falhando miseravelmente... (2)
Elilo e Sofrimento no Slackware (3)
Não consigo instalar as bibliotecas em Python pelo terminal. (1)









