Este artigo explica como executar um comando após o comando anterior ter terminado de rodar. Usando isso, você pode executar não apenas 2 comandos, mas qualquer número de comandos, depois que o anterior tiver terminado. Isso vai funcionar com Sh, Bash, Zsh e outras conchas.
Você pode executar um comando após o anterior ter terminado, dependendo do status de saída do comando anterior (se ele falhou ou não) ou independentemente disso. Portanto, há 3 situações possíveis:
Vamos dar uma olhada em cada um desses casos abaixo.
Para executar vários comandos sucessivamente (aguardando que o anterior termine) somente se o comando anterior sair com sucesso, use o operador &&
entre os comandos. Por exemplo (você pode ter qualquer número de comandos):
comando1 && comando2
Se você não se importa com o status de saída do comando anterior, e você só quer executar um comando depois que o anterior tiver terminado, use o ;
separador. Exemplo (você pode ter qualquer número de comandos):
comando1; comando2; comando3
E se você quiser executar um comando depois que o anterior terminou de rodar, mas apenas se este comando anterior falhou (se ele retornar um status de saída que não seja 0). Nesse caso, use o separador ||
. Por exemplo (mais uma vez, você pode ter qualquer número de comandos):
comando1 || comando2
Você também pode misturar esses operadores. Nesse caso, você pode agrupar os comandos usando (
e )
. Por exemplo:
comando1 || (comando2; comando3)
Neste exemplo:
comando1
e espere que ele terminecomando1
falhar, prossiga para os próximos comandos (||
):
comando2
e espere que ele terminecomando1
, execute o comando3
(;
)Outro exemplo:
(comando1 && comando2); (comando3 && comando4)
Neste exemplo:
comando1
e espere que ele terminecomando1
for bem sucedido, execute o comando2
e aguarde que ele termine (&&
)comando2
foi bem sucedido ou não, ou se ele mesmo rodou ou não, rode comando3
e espere que ele termine (;
)comando3
for bem sucedido, execute comando4
(&&
)Gosta de dicas do terminal? Veja outros artigos no blog, como este em que esinamos como alterar o Shell padrão no Linux. Outro artigo bem visitado trata de como encontrar arquivos modificados nos últimos n dias ou minutos usando find e como repetir um comando a cada x segundos no Linux.
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
How To Run A Command After The Previous One Has Finished On Linux