Não importa quão complexas são as partes de um pipeline, você pode frequentemente visualizá-las como scripts separados, se quiser (especialmente em shells como bash
, que executará cada parte de um pipeline em uma subshell de qualquer maneira ).
O script
command2
command3
command4
... que aproximadamente é o que o { command2; command3; command4; }
traduz (não levando em consideração que { ...; }
significa que os comandos não são executados em um subshell),
é dado entrada da execução de
command1
Dependendo do que esses três comandos no primeiro script estão fazendo, um ou vários deles provavelmente consumirão a entrada de command1
e, se um ou vários deles produzirem alguma saída, isso irá para a próxima parte. do pipeline, ou para o terminal ou para onde a saída do pipeline for redirecionada.