Fazendo comparações no shell com números de ponto flutuante
Publicado por Luciano Hanzo em 25/05/2024
[ Hits: 271 ]
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
Acessando mais que 9 parâmetros em shell script
Nenhum comentário foi encontrado.
Deixando o Gnome bonitão em qualquer distribuição
Como ativar o módulo de cancelamento de ruído no Pipewire
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Papagaiando (enfeitando) o KDE com efeitos do KWiN Burn My Windows
Como centralizar o widget Gerenciador de Tarefas Apenas Com Ícones do Painel do KDE
Checar seu IP externo no terminal
Eu estou com o probema no código em pygame (3)
Rede cabeada limitando a 100Mbps (7)
LocalSend, uma alternativa ao Warpinator? (3)
GRUB do Debian 12 não detecta segundo Linux instalado em partição BTRF... (32)