|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
je suis sous aix , en ksh et je n'arrive pas à faire reconnaitre le nombre 100 pour les calculs : exemple : var=15.5 # if [[ $var > 100 ]];then echo 0;else echo 1 ;fi 0 faux !! # if [[ $var < 10 ]];then echo 0;else echo 1 ;fi 1 vrai !! il y a peut-être une variable system ?? |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
gerard.pineau1@gmail.com a écrit
> Bonjour, > > je suis sous aix , en ksh et je n'arrive pas à faire reconnaitre le > nombre 100 pour les calculs : > exemple : > > var=15.5 > # if [[ $var > 100 ]];then echo 0;else echo 1 ;fi > 0 > faux !! > > # if [[ $var < 10 ]];then echo 0;else echo 1 ;fi > 1 > > vrai !! > il y a peut-être une variable system ?? AMHA ca ne marche qu'avec des entiers... |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
essaie ça pour voire : var=15.5 if [[ "(($var-100))" > "0" ]] then echo 0 else echo 1 fi |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
2007-03-6, 01:00(-08), gerard.pineau1@gmail.com:
> Bonjour, > > je suis sous aix , en ksh et je n'arrive pas à faire reconnaitre le > nombre 100 pour les calculs : > exemple : > > var=15.5 > # if [[ $var > 100 ]];then echo 0;else echo 1 ;fi > 0 > faux !! > > # if [[ $var < 10 ]];then echo 0;else echo 1 ;fi > 1 > > vrai !! > il y a peut-être une variable system ?? D'abord, c'est [ "$var" -gt 100 ] [[ $var -gt 100 ]] ou (( var > 100 )) et seuls zsh et ksh93 supportent les floats. Un shell n'est pas un outil pour faire de l'arithmetique. -- Stéphane |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Le Tue, 06 Mar 2007 01:00:34 -0800, gerard.pineau1@gmail.com a écrit:
> Bonjour, > > je suis sous aix , en ksh et je n'arrive pas à faire reconnaitre le > nombre 100 pour les calculs : > exemple : > > var=15.5 > # if [[ $var > 100 ]];then echo 0;else echo 1 ;fi 0 > faux !! > > # if [[ $var < 10 ]];then echo 0;else echo 1 ;fi 1 > > vrai !! > il y a peut-être une variable system ?? Si tu as bc sur ton aix et c'est récupérable sur le net sinon : if echo "($var > 100)" | bc -q > /dev/null 2>&1 then echo ok else echo ko fi le shell ne gère par les nombres a virgule. Donc soit tu t'en sors en supprimant la virgule (ie tu multiplies tout par 100) soit tu fait autrement. Enfin, > se traduit par -gt avec test |
|
![]() |
| Outils de la discussion | |
|
|