Re: cowsay et xcowsay
Tu as raison, mea culpa.
Dans ce cas, le plus simple est d'ajouter un caractère à la chaîne à tester et de juste tester si le contenu du tout n'est pas égal au caractère ajouté. Comme c'était proposé dans un message précédent.
----
Pierre Malard
Le 25 mars 2013 à 11:53, "Sylvain L. Sauvage" <Sylvain.L.Sauvage@free.fr> a écrit :
> Le lundi 25 mars 2013 à 08:35:44, Pierre Malard a écrit :
>> […]
>>> C’est un bugue ?
>>
>> En tout cas, ça y ressemble...
>
> Pas vraiment.
>
>> Si on se réfère au "man test", le "-n" devrait renvoyer VRAI
>> si la longueur de la variable n'est pas nul et le "-z" est
>> le test inverse. Or, autant le "-z" fonctionne bien, autant
>> le "-n" renvoie toujours VRAI !
>
> D’abord, le man test ne parle pas de longueur de _variable_
> mais de longueur de _chaîne_. $truc est l’expansion de la chaîne
> contenue dans la variable truc. Si truc n’existe pas, c’est la
> chaîne vide.
>
> Ensuite, l’expansion des variables est toujours effectuée
> _avant_ d’exécuter la commande.
>
> Donc, quand tu écris :
> test -n $truc
> alors que truc n’existe pas ou est une chaîne vide, c’est
> exactement comme si tu écrivais :
> test -n
> Ce qui est la même chose que :
> test
> Ce qui renvoie 0 (donc vrai).
>
> En revanche, si tu écris :
> test -z $truc
> alors que truc n’existe pas ou est une chaîne vide, c’est comme
> si tu écrivais :
> test -z
> Et, ça, c’est considéré comme faux parce que c’est le contraire
> de
> test -n
>
> Moralité, quand on veut tester une _chaîne_, on s’assure qu’il
> y a une _chaîne_ à tester. Donc on encadre avec des "" ou on
> précède d’une chaîne fixe (souvent 'x' ; le préfixe permet aussi
> d’éviter un « Bobby Tables »).
> C’est très important, surtout avec test, sinon on se prend
> souvent des erreurs de syntaxe (essayer 'test $truc = 2' quand
> truc n’existe pas ou est vide).
>
> --
> Sylvain Sauvage
>
> --
> Lisez la FAQ de la liste avant de poser une question :
> http://wiki.debian.org/fr/FrenchLists
>
> Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
> vers debian-user-french-REQUEST@lists.debian.org
> En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
> Archive: [🔎] 201303251153.11645.Sylvain.L.Sauvage@free.fr">http://lists.debian.org/[🔎] 201303251153.11645.Sylvain.L.Sauvage@free.fr
>
Reply to: