integer expression expected - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 03-08-2009 à 23:13:10
Je suppose quand le champ n'est pas renseigné.
Marsh Posté le 04-08-2009 à 10:42:07
+1 pour twocats
perso j'initialise toujours mes entiers à une valeur par défaut ...
rating=0;
...
rating=$(...)
if [ $rating -gt 0 ] ; then
...
fi
Marsh Posté le 04-08-2009 à 11:25:03
ha oué c'est pas bête ça
je teste ça ce soir et je vous tiens au courant
merci
Marsh Posté le 04-08-2009 à 18:04:41
j'ai toujours l'erreur
je vous mets le script :
find /home/partages/voyages -name "*.jpg" | while read file; do |
et le retour
|
merci de votre aide
Marsh Posté le 04-08-2009 à 18:36:23
c'est quoi le -pa ?
-p = print
exiv2 -a = time (Time adjustment in the format )?
Marsh Posté le 04-08-2009 à 18:41:36
Je ne sais pas quel interpréteur shell tu utilises, mais avec bash, par exemple, tu pourrais :
1/ virer la ligne
rating=0 |
Tu "écrases" toujours sa valeur, avec l'expression suivante, même si elle équivaut à null
2/ ajouter un
rating=${rating:=0} |
juste derrière
rating=$(exiv2 -pa "$file" | grep -w 'Exif.Image.Rating' | awk '{print $4}') |
Ca permet d'initialiser à 0 ta variable rating si elle "vaut" null ou si elle est non initialisée.
EDIT : pour ceux que ça intéresse, man bash ( ou allez voir là )
chapitre Parameter Expansion
Marsh Posté le 04-08-2009 à 19:02:00
j'utilise bash aussi (enfin j'essaye )
par contre ça ne fonctionne toujours pas
Marsh Posté le 04-08-2009 à 19:08:08
rajoutes un -x au niveau de la ligne de l'interpréteur ( par ex. #!/bin/bash -x ) , histoire de voir un peu mieux ce qui se passe, quand ton script se déroule
Ca te permettra surement de mettre en évidence ce qui ne va pas
Marsh Posté le 04-08-2009 à 20:16:25
en fait j'ai l'impression qu'il y a plusieurs problèmes
le premier était effectivement lié à une valeur nulle, ta solution zzozo à l'aire de fonctionner
la deuxième est pour moi plus bizarre
voila ce que j'obtiens avec un des fichiers qui a l'aire de poser des problèmes
|
et comme par hasard ce "standard)" on le retrouve dans les messages d'erreurs
il provient d'où? vous savez?
merci
Marsh Posté le 03-08-2009 à 17:40:30
bonjour,
j'ai un script qui fait :
rating=$(exiv2 -pa "$file" | grep -w 'Exif.Image.Rating' | awk '{print $4}')
if [ "$rating" -gt "0" ]; then
et bien sûr à l'exécution j'ai droit à un :
line 12: [: : integer expression expected
line 12: [: standard): integer expression expected
à priori c'est du à une histoire de integer, comment est ce que je peux éviter cette erreur?
je précise que malgré ce message le script fonctionne
merci
---------------
dam's (debianer), ma galerie Flickr