(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"
$