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
A voir également:

1 réponse

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
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
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
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
Utilisateur anonyme > oyukta Messages postés 8 Statut Membre
 
((1 && 0))
0
oyukta Messages postés 8 Statut Membre > Utilisateur anonyme
 
Oui mais je voudrais utiliser la commande test avec le paramètre -a
0