Re: [ssfr] test: trop d'arguments

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


Le 05-06-2012, à 15:19:44 +0200, stephane.billiart@xxxxxxxxxxx (stephane.billiart@xxxxxxxxxxx) a écrit :

> 
> 
> 
> > Message du 05/06/12 15:07
> > De : "steve" 
> > A : shellscript-fr@xxxxxxxxxxxxxxx
> > Copie à : 
> > Objet : Re: [ssfr] test: trop d'arguments
> >
> > 
> > Par contre j'ai oublié une autre chose. J'ai mis #!/bin/bash comme
> > shebang, et mon script marche. J'ai essayé de mettre #!/bin/sh, et tout
> > d'un coup :
> > 
> > /home/steve/bin/is_image : 6 : test : Composite : unexpected operator
> > /home/steve/bin/is_image : 6 : test : image : unexpected operator
> > /home/steve/bin/is_image : 6 : test : image : unexpected operator
> > /home/steve/bin/is_image : 6 : test : image : unexpected operator
> > /home/steve/bin/is_image : 6 : test : image : unexpected operator
> > /home/steve/bin/is_image : 6 : test : text : unexpected operator
> > 
> > 
> > Pourquoi ?
> 
> Parce que tu es sous Ubuntu/Debian, que sh n'est pas bash mais
> dash et que ton script n'est pas compatible Bourne mais utilise
> des extensions bash
> 
> Pour gerer les espaces tu pourrais simplement ajouter des guillemets
> test "$(file -b --mime-type "$1" | cut -d "/" -f1)" == 'image'
> 
> Pour que ca marche sous n'importe quel shell Bourne compatible, tu changes
> en
> if [ "`file -b --mime-type "$1" | cut -d "/" -f1`" = 'image' ]; then
> echo image
> fi
> 
> Voila,


Merci pour tes explications, je m'endormirai un peu moins bête ce
soir :-)

Je m'en vais tester tout ça un peu plus tard, là le script est en train
de tourner.




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/