O análogo direto de "tee for commands" é o comando pee
de moreutils ( tee
, mas com tubos). Seus argumentos são usados como comandos para serem executados, não como caminhos, e recebem a entrada canalizada para eles, em vez de serem gravados no arquivo. Todos os comandos recebem a entrada padrão que você canalizou para pee
como seus próprios.
Usando pee
, você pode obter o resultado desejado, solicitando que execute xsel
e cat
com a entrada.
echo foo | pee xsel cat
Existe um processo cat
extra flutuando por aí para fazer a saída, o que não é realmente um problema para o seu caso de uso, mas pode ser menos ideal outras vezes. Isso funciona com qualquer shell, ao contrário da substituição do processo, mas é claro que requer uma ferramenta extra (provavelmente menos comum) instalada.
Você pode dar comandos mais complexos, citando-os: pee "xsel --display :1" cat
. Eles são executados com sh
, então você precisa ter cuidado com metacaracteres de shell.