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.
Cela bloque aussi au niveau des "done". Je pense que la réinitialisation de i et de j pose problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci
Partager