La 3° n'étant qu'un alias de la seconde, et la 4° étant spécifique à bash (que je ne maitrise pas assez), je vais les éliminer des commandes à regarder. Donc voici juste les 2 premières mais rendues systématiquement fausses
Code:
1 2
| test 3 -lt 2 && test 4 -lt 3
test 3 -lt 2 -a 4 -lt 3 |
Hé bien la première n'effectuera qu'une seule comparaison (puisque 2 commandes à suivre mais la seconde n'étant pas exécutée du fait que la première renvoie un état "faux") alors que la seconde fera toute l'évaluation même inutile.
Donc même résultat "visible" mais pas le même résultat au niveau du proc...