Gérer les nombres réels pour script shell
Bonjour ,
Je souhaite comparer deux réels à chaque tour de la boucle "while".
Cependant , j'ai un problème de syntaxe pour gérer les réels.
Je sais que cela se fait avec la commande "bc".
Je code rarement des scripts bash donc cela serait sympa de développer un peu vos réponses s'il vous plait.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
#!/bin/bash
pval=( 10^-6 10^-5 10^-4 10^-3 )
li=( 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 )
lr=( -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1.0 -1.1 -1.2 -1.3 -1.4 -1.5 -1.6 )
i=0
j=0
for k in "${pval[@]}"; do
while [ ("${li[i]}"| bc) -ne ("${li[16]}"| bc) ] && [ ("${lr[j]}"| bc) -ne ("${lr[16]}"| bc) ]
do
#./Select.R ${li[i]} ${lr[j]} $k
echo ${li[i]} ${lr[j]} $k
i=$(($i+1))
j=$(($j+1))
done
i=0
j=0
done |
Cela bloque aussi au niveau des "done". Je pense que la réinitialisation de i et de j pose problème.
Merci