$ if (rm test); then echo ok; fi
rm: cannot remove `test': No such file or directory
$ touch test; if (rm test); then echo ok; fi
ok
Bah c’est justement ce que je dis, dans le premier cas la commande a un code retour ≠ 0 la condition est fausse alors que dans la deuxième le code retour est 0 est la condition est vrai :
≠ 0 implique faux
0 implique vrai
Donc c'est plus logique d'attribuer 0 à ok et !0 à toutes les situations non ok.
Oui mais quand on apprend la logique on note 0 = faux et 1 = vrai, c’est le contraire en shell.
Dans les autres langages de programmation on également plutôt l’habitude qu’une valeur différente de zéro soit évaluée vraie et zéro soit évalué faux.
[^] # Re: false
Posté par Marotte ⛧ . En réponse au journal Le core utile. Évalué à 2.
Bah c’est justement ce que je dis, dans le premier cas la commande a un code retour ≠ 0 la condition est fausse alors que dans la deuxième le code retour est 0 est la condition est vrai :
≠ 0 implique faux
0 implique vrai
Oui mais quand on apprend la logique on note 0 = faux et 1 = vrai, c’est le contraire en shell.
Dans les autres langages de programmation on également plutôt l’habitude qu’une valeur différente de zéro soit évaluée vraie et zéro soit évalué faux.