Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/10/2008, à 12:36

Bashellor

[Résolu][bash]Probleme d'entier

Bonjour,

Hier, je recuperais un grep d'une commande et j'avais donc des entiers au minimum à deux chiffres (ex : 8 = 08)

Aujourd'hui dans un nouveau script j'essai de faire la même chose et il ne semble plus prendre 08 comme un entier de valur 8.

L'erreur revoyée est la suivante :

 line 19: 60 + 08: valeur trop grande pour la base (error token is "08")
minute=$(ffmpeg -i tmp.wav 2>&1 | grep "Duration" | cut -d ' ' -f 4 | cut -d ':' -f 2)

seconde=$(ffmpeg -i tmp.wav 2>&1 | grep "Duration" | cut -d ' ' -f 4 | cut -d ':' -f 3 | cut -d '.' -f 1)

temps=$[ $minute * 60 ]

temps2=$[ $temps + $seconde ]

jpg=$(ls *.jpg)

echo "jpg: $jpg, minute: $minute, seconde: $seconde, temps: $temps, temps2: $temps2"

Donc la sortie standard complète :

 line 19: 60 + 08: valeur trop grande pour la base (error token is "08")
jpg: tmp.jpg, minute: 01, seconde: 08, temps: 60, temps2:

Pourtant la multiplication fonctionne ! qu'est-ce qu'elle m'embette cette operation avec 08 ?! Pourquoi ne fait-elle pas comme les autres ?

PS : je sais que je peux faire ça en une ligne de moins mais c'etait pour etaler l'operation pour mieux comprendre.

#2 Le 04/10/2008, à 12:47

Dark-Sham

Re : [Résolu][bash]Probleme d'entier

$ ./tonscript 2> /dev/null

Ok je sors ------>[]


Script de sauvegarde/restauration APT

Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe

Hors ligne

#3 Le 04/10/2008, à 12:55

Bashellor

Re : [Résolu][bash]Probleme d'entier

Pourquoi poubelle ?

Comment tu ferait toi ? neutral

C'est pas joli ce que je fais ? je debute en bash.

#4 Le 04/10/2008, à 13:18

Bashellor

Re : [Résolu][bash]Probleme d'entier

J'ai trouvé :

08 et 09 sont interpreté comme de l'octal, il faut donc préciser que c'est decimal en ajoutant #10 devant.

Je savais bien que ce langage n'etait pas parfait... big_smile

#5 Le 04/10/2008, à 18:31

nicolas66

Re : [Résolu][bash]Probleme d'entier

Dark-Sham a écrit :
$ ./tonscript 2> /dev/null

Ok je sors ------>[]

Remarque ô combien constructive ...


"The computer was born to solve problems that did not exist before." (B. Gates)

Hors ligne

#6 Le 04/10/2008, à 19:10

Dark-Sham

Re : [Résolu][bash]Probleme d'entier

Désolé, ça m'a échappé   roll


Script de sauvegarde/restauration APT

Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe

Hors ligne