Fazendo comparações no shell com números de ponto flutuante
Publicado por Luciano Hanzo em 25/05/2024
[ Hits: 799 ]
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.
Aulas Shell Script do zero - Parte 3
Resolvendo problema com scripts que estão rodando no crontab
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Dica para encontrar diversos jogos Indies criativos
Instalando Discord no Debian 13
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
paginação dos favoritos não funciona no vivaolinux[BU... (4)
Driver da nvidia e desempenho em jogos (2)
A escola é altamente ineficiente e ineficaz! (13)
Sincronização Horario Estação de trabalho máquinas domínio com samba N... (2)