O comando file não aceita entrada de stdin . Você precisará fazer algo como which cp | xargs file
Descobri que which cp|file é impresso como o comando file , alguém pode explicar por quê?
Claro que sei que o comando file $(which cp) funciona.
O comando file não aceita entrada de stdin . Você precisará fazer algo como which cp | xargs file
Em primeiro lugar, file espera ser capaz de stat() do alvo, para identificar dispositivos de bloco, chamados FIFOs, links simbólicos e o restante.
Se o destino for um arquivo normal (ou se -s for usado), então ele poderá executar seek() para realizar testes nos deslocamentos especificados no arquivo mágico.
Nenhum desses é possível com um fluxo stdin simples.
Tags bash