Pregunta:
Si quisiera ejecutar dos comandos separados en una línea, podría hacer esto:
cd /home; ls -al
o esto:
cd /home && ls -al
Y obtengo los mismos resultados. Sin embargo, ¿qué sucede en segundo plano con estos dos métodos? ¿Cuál es la diferencia funcional entre ellos?
Respuesta:
El ;
solo separa un comando de otro. El &&
dice que solo ejecute el siguiente comando si el anterior fue exitoso
cd /home; ls -al
Esto hará cd /home
e incluso si el comando cd
falla ( /home
no existe, no tiene permiso para atravesarlo, etc.), ejecutará ls -al
.
cd /home && ls -al
Esto solo ejecutará ls -al
si el cd /home
fue exitoso.