No shell, &&
e ;
são semelhantes, pois ambos podem ser usados para finalizar comandos. A diferença é &&
também é um operador condicional. Com ;
o seguinte comando é sempre executado, mas com &&
o último comando é executado apenas se o primeiro for bem-sucedido.
false; echo "yes" # prints "yes"
true; echo "yes" # prints "yes"
false && echo "yes" # does not echo
true && echo "yes" # prints "yes"
Novas linhas são intercambiáveis com ;
ao finalizar comandos.