If..then...else

Fermé
dna.factory Messages postés 24937 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 18 avril 2024 - Modifié par jipicy le 6/01/2014 à 17:26
 Utilisateur anonyme - 7 janv. 2014 à 16:20
Bonjour,

Oui, vous avez bien lu le titre... j'ai honte, mais je bloque sur un if then else...
c'est tellement con que j'ai honte, et je suis sur que c'est une broutille (genre un espace ou une majuscule), donc plutôt que de perdre mon temps, je viens pleurer au secours ici.

Voila l'extract de mon code, la condition qui ne marche pas

....
    if [ "$EtiqChamp" = "EAN" ];then
        echo $EtiqChamp"-" $line "-" $numid "-" $ean13;
    else
        {
...
          echo $EtiqChamp"-" $line "-" $numid " - vide";



et voila le résultat qui correspond
EAN- 5 - 4 - vide

Comme vous pouvez le voir , $EtiqChamp est bien égal à EAN, il rentre bien dans la condition, mais il ne s'arrête pas et va directement dans la voir de garage.
Demain j'essairai un case, mais bon pour trois deux if imbriqués et un défault... c'est limite overkill.

Si vous pouvez m'aider...
Promis, si c'est vraiment con, je me frappe la tête contre le bureau en me traitant de con.


Ho... et parce que mon vrai métier c'est hotliner et que je dois penser à des trucs à la con comme ça... $ean13 n'est PAS égal à "vide"...




Stop failing the turing test !

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
6 janv. 2014 à 17:42
Salut,

Difficile de voir où se situe l'erreur ;-(

D'après ta config, ton shell est
sh
, tu devrais faire attention à bien entourer tes variables avec des accolades (
${var}
).
Sinon, essaie de rajouter un
set -xv
après ton shebang histoire d'avoir une sortie plus verbeuse et de voir d'où vient la faille ;-\
1
Utilisateur anonyme
7 janv. 2014 à 16:20
+1

Sinon tu peux utiliser sh -x monscript.sh qui revient un peu au même.
Tu auras en directe la valeur d'une variable quand tu lui en atrtibues une etc... ça peut être utile pour debug
0