#1 Le 17/04/2010, à 20:56
- leold
[resolu] shell : division qui ne fonctionne pas avec les 8 et 9
hello
il m'arrive un drôle de truc :
#!/bin/bash
my_date="09"
((my_date_bis=$my_date/1))
echo $my_date_bis $my_date
si je lance se code comme ca j'ai l'erreur :
./calcul: line 4: ((: my_date_bis=09: valeur trop grande pour la base (error token is "09")
si on change le 09 par 08 idem par contre si on prend 01 02 03 04 05 06 07 ca passe
j'aimerai bien comprendre pourquoi
je me suis uppercut de ca dans se code la
heures=${line%%:*}
line=${line#*:}
mins=${line%%:*}
line=${line#*:}
secs=${line%%:*}
let "my_pause=($heures*3600)+($mins*60)+($secs)+((($RANDOM*2000)/32767)+300)"
alors que ma valeur de line était 2:16:09
si quelqu'un peut m'expliquer ?
Dernière modification par leold (Le 17/04/2010, à 21:20)
l’imbécile est pas celui qui ne sait pas mais celui qui refuse d’apprendre
Hors ligne
#2 Le 17/04/2010, à 21:13
- toto2006
Re : [resolu] shell : division qui ne fonctionne pas avec les 8 et 9
salut ,
regarde ce post la réponse de totor !
http://forum.ubuntu-fr.org/viewtopic.php?id=389891
Totor
$((10#${variable})) : "Evaluation" de 10#${variable}. Cela permet de supprimer les "0" se trouvant en début de nombre. Il est impératif de préciser la base car si un nombre commence par 0, il est considéré comment étant exprimé en hoctal.
sinon pour ton code :
((my_date_bis=10#${my_date}/1))
Hors ligne
#3 Le 17/04/2010, à 21:20
- leold
Re : [resolu] shell : division qui ne fonctionne pas avec les 8 et 9
merci pour ta reponse
je comprends mieux
l’imbécile est pas celui qui ne sait pas mais celui qui refuse d’apprendre
Hors ligne