(3 respuestas)
Cerrado hace 6 años.
¿Cuál es la diferencia entre
echo "Hello " ; echo "world"
y
echo "Hello " && echo "world"
Ambos parecen ejecutar los dos comandos uno tras otro.
Respuesta aceptada:
echo "Hello " ; echo "world"
significa ejecutar echo "world"
no importa cuál sea el estado de salida del comando anterior echo "Hello"
es decir, echo "world"
se ejecutará independientemente del éxito o fracaso del comando echo "Hello"
.
Mientras que en el caso de echo "Hello " && echo "world"
, echo "world"
solo se ejecutará si el primer comando (echo "Hello"
) es un éxito (es decir, estado de salida 0).
Los siguientes comandos dan un ejemplo de cómo el shell maneja el encadenamiento de comandos usando los diferentes operadores:
$ false ; echo "OK"
OK
$ true ; echo "OK"
OK
$ false && echo "OK"
$ true && echo "OK"
OK
$ false || echo "OK"
OK
$ true || echo "OK"
$