No meu ambiente de desenvolvimento, existe um alias que grava stdout em um arquivo específico.
Ele usa tubo com T, por exemplo, du -h | & tee /tmp/diskUsage
.
Entendo que o operador AND torna tudo o que precede um descritor de arquivo em vez de um nome de arquivo, por exemplo, 2>&1
redirecionando stderr para stdout em vez de um arquivo chamado "1" no diretório atual.
Entretanto, para o uso | & tee
, não há nada significativo depois de '&' e antes de "tee", o que isso faz neste caso?
|&
é uma abreviação para "pipe tanto stderr quanto stdout do programa da esquerda para o programa da direita".Basicamente,
tee
receberá tanto a saída normal quanto a saída de erro multiplexadas, não apenas a saída padrão, como o plain|
faria normalmente.Ou para citar a documentação do GNU :