Atualmente, quero executar no meu terminal cmd1 e cmd2. Eu quero canalizar essas saídas para cmd3, que pode receber várias entradas.
eu tentei
cmd1 && cmd2 | cmd3 -i - -i -
Mas isso não realiza o que estou tentando fazer
Atualmente, quero executar no meu terminal cmd1 e cmd2. Eu quero canalizar essas saídas para cmd3, que pode receber várias entradas.
eu tentei
cmd1 && cmd2 | cmd3 -i - -i -
Mas isso não realiza o que estou tentando fazer
Para responder sua pergunta literalmente ( "Execute dois comandos ao mesmo tempo e canalize para o terceiro comando" )
Você precisaria colocar pelo menos um dos comandos LHS no plano de fundo do shell usando
&
e agrupá-los para que a saída padrão combinada possa ser redirecionada ex.Observe que
&
é diferente de&&
(que aguardacmd1
sair, então executa condicionalmentecmd2
).Você pode substituir o grupo de comandos
{ ... ; }
por um subshell( ... )
, se preferir. Como o shell tem apenas uma saída padrão e um fluxo de entrada padrão, isso mesclará as saídas decmd1
ecmd2
Para responder o que você realmente parece querer
Para redirecionar as saídas de dois comandos separados como dois fluxos de entrada separados no bash, você pode usar a substituição do processo :