-
;: comandos separados por;são executados sequencialmente. O shell aguarda que cada comando termine por vez. -
&&: comando após&&ser executado se, e somente se, comando antes de&&retornar um status de saída igual a zero. Você pode pensar nisso comoANDoperator. -
|: um canal. Na expressãocommand1 | command2A saída padrão do comando1 é conectada por meio de um canal à entrada padrão do comando2.
Existem mais operadores de controle similares, vale a pena mencionar:
-
||: comando após||ser executado se, e somente se, comando antes de||retornar um status de saída diferente de zero. Você pode pensar nisso comoORoperator. Por favor, note que|e||são animais completamente diferentes. -
&: o shell executa o comando terminado por&em segundo plano, não espera que o comando termine e retorna imediatamente o código de saída 0. Mais uma vez,&não tem nada a ver com&&. -
|&: uma abreviação de2>&1 |, ou seja, a saída padrão e o erro padrão do comando1 são conectados à entrada padrão do comando2 por meio do canal.
Além disso, se você usar zsh , também poderá iniciar o comando com &| ou &! . Neste caso, o trabalho é imediatamente renunciado, após a inicialização, não há lugar na tabela de trabalhos.