Bases de Linux et de la ligne de commande
$ false && echo A || echo B
$ true || echo C; echo DSi l'on exécute les deux lignes ci-dessus dans un shell, quels caractères s'affichent ?
- ASeulement D
- BB et D
- CB, C et D
Afficher la réponse et l'explication
Réponse : B. B et D
Chaque commande renvoie en se terminant un code de retour : 0 signifie la réussite, et toute autre valeur l'échec (la dernière valeur se lit avec $?). « A && B » n'exécute B que si A réussit, « A || B » n'exécute B que si A échoue, et « ; » exécute la commande suivante quel que soit le résultat. Sur la première ligne, false échoue : echo A est donc sauté, l'ensemble « false && echo A » est traité comme un échec et le echo B qui suit || est exécuté. Sur la deuxième ligne, true réussit, donc echo C n'est pas exécuté, tandis que le echo D qui suit « ; » s'exécute toujours : B et D s'affichent.
Continuer : 9 autres questions sur Bases de Linux et de la ligne de commande