Script shell: condition if pour trim image

Résolu/Fermé
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 - 27 avril 2009 à 10:09
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 - 27 avril 2009 à 10:41
Bonjour,

voila un début de script qui me pose probleme
théorie:
le script permet d'effectuer un trim des bords des images par l'intermediaire d'imagemagick
l'utilisateur rentre le nom de ficheir ou l'extention qu'il souhaite "trimmer"
et le script lui trim les images voulues.

pratique:

dans la premiere partie du script on demande à l'utilisateur de rentrer l'extention
puis si l'extention est "correcte" on effectue le trim sinon on lui dit que l'extention n'est pas bonne:

#!/bin/bash

echo -n "
extention des images à trimmer (*.jpg *.gif *.png *.tif *.bmp)? "
read FORMAT

if 
then  # boulce format valide
echo "l'extention $FORMAT est valide pour trim"
#mogrify -trim $FORMAT
else # boucle format non valide
echo "l'extention $FORMAT n'est pas valide pour trim "
fi


avec ce code, quand je teste mon script, il passe toujours dans la boucle "format valide"
et ce avec n'importe quelle extention en entrée.

quelle est la syntaxe qui cloche dans ce script ?
dans la définition de la confition if ?

merci de votre aide
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
27 avril 2009 à 10:29
Salut,

Il faudrait peut être mettre une condition à tester non ?
if quoi ?
#!/bin/bash

echo -n "
extention des images à trimmer (jpg gif png tif bmp)? "
read FORMAT

if [ $FORMAT = "jpg"  -o  $FORMAT = "gif" -o  $FORMAT = "png" -o  $FORMAT = "tif"  -o  $FORMAT = "bmp"  ]
then  # boulce format valide
echo "l'extention $FORMAT est valide pour trim"
#mogrify -trim $FORMAT
else # boucle format non valide
echo "l'extention $FORMAT n'est pas valide pour trim "
fi
Tu peux aussi l'écrire comme ça :
#!/bin/bash

echo -n "
extention des images à trimmer (jpg gif png tif bmp)? "
read FORMAT

case "${FORMAT}" in
jpg|gif|png|tif|bmp)    echo "l'extention $FORMAT est valide pour trim"
                        ;;
*)                      echo "l'extention $FORMAT n'est pas valide pour trim "
                        ;;
esac
PS. J'ai enlevé le ".*" avant l'extension pour la demande et le test (plus facile), tu le rajouteras dans la commande...

;-)
1
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 139
27 avril 2009 à 10:41
oups probleme de copier coller:

voilà l'original de la condition:

if double crochet $FORMAT = *.jpg || *.bmp || *.gif || *.png || *.tif double crochet


merci pour l'autre solution.
0