Problème avec la commande test sur shell

oyukta Messages postés 8 Statut Membre -  
 Utilisateur anonyme -
Bonsoir,

j'ai un petit souci car je n'arrive pas à comprendre pourquoi la commande:
(test 1 -a 0) me renvoie 0 (=vraie) alors que ça devrait m'envoyer 1 (=faux).

merci d'avance pour vos réponses

1 réponse

  1. Utilisateur anonyme
     
    salut,

    pourquoi crois-tu qu'elle devrait retourner "faux" ?
    les deux termes sont vrais !

    NB : les parenthèses sont inutiles.

    PS : peux-tu utiliser les balises CODE.
    0
    1. oyukta Messages postés 8 Statut Membre
       
      Bah en logique (true AND false) renvoie false, et c'est ce que j'ai fais avec -a qui correspond -a AND non?

      Comment ca les balises CODE?
      0
    2. Utilisateur anonyme > oyukta Messages postés 8 Statut Membre
       
      pourquoi 0 serait-il faux ? c'est une chaîne, elle existe, donc c'est vrai.

      non, les balises code, c'est < code > ici du code < /code >, sans espaces, et ça produit ce type d'affichage :
      test 1 -a 0 && echo ok || echo ko

      je crois que tu confonds
      test "0"
      , qui teste une chaîne, et
      ((0))
      , qui évalue une expression arithmétique, et qui, elle, retourne faux.
      0
    3. oyukta Messages postés 8 Statut Membre
       
      Ok!! j'ai compris!

      Mais du coup, comment on écrirait la commande qui test (1 AND 0) en considérant 1 et 0 comme des nombres arithmétiques?
      0
    4. Utilisateur anonyme > oyukta Messages postés 8 Statut Membre
       
      ((1 && 0))
      0
    5. oyukta Messages postés 8 Statut Membre > Utilisateur anonyme
       
      Oui mais je voudrais utiliser la commande test avec le paramètre -a
      0