(3 risposte)
Chiuso 6 anni fa.
Qual è la differenza tra
echo "Hello " ; echo "world"
e
echo "Hello " && echo "world"
Entrambi sembrano eseguire i due comandi uno dopo l'altro.
Risposta accettata:
echo "Hello " ; echo "world"
significa eseguire echo "world"
non importa quale sia lo stato di uscita del comando precedente echo "Hello"
è cioè echo "world"
verrà eseguito indipendentemente dall'esito positivo o negativo del comando echo "Hello"
.
Mentre in caso di echo "Hello " && echo "world"
, echo "world"
verrà eseguito solo se il primo comando (echo "Hello"
) è un successo (es. stato di uscita 0).
I seguenti comandi forniscono un esempio di come la shell gestisce il concatenamento dei comandi usando i diversi operatori:
$ false ; echo "OK"
OK
$ true ; echo "OK"
OK
$ false && echo "OK"
$ true && echo "OK"
OK
$ false || echo "OK"
OK
$ true || echo "OK"
$