
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