(3 réponses)
Fermé il y a 6 ans.
Quelle est la différence entre
echo "Hello " ; echo "world"
et
echo "Hello " && echo "world"
Les deux semblent exécuter les deux commandes l'une après l'autre.
Réponse acceptée :
echo "Hello " ; echo "world"
signifie exécuter echo "world"
quel que soit le statut de sortie de la commande précédente echo "Hello"
c'est-à-dire echo "world"
s'exécutera indépendamment du succès ou de l'échec de la commande echo "Hello"
.
Alors qu'en cas de echo "Hello " && echo "world"
, echo "world"
ne s'exécutera que si la première commande (echo "Hello"
) est un succès (c'est-à-dire que l'état de sortie est 0).
Les commandes suivantes donnent un exemple de la façon dont le shell gère l'enchaînement des commandes à l'aide des différents opérateurs :
$ false ; echo "OK"
OK
$ true ; echo "OK"
OK
$ false && echo "OK"
$ true && echo "OK"
OK
$ false || echo "OK"
OK
$ true || echo "OK"
$