Script shell: condition if pour trim image [Résolu/Fermé]

Signaler
Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
-
Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
-
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

2 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 823
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
135
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.