Por que o pipeline não funciona para o comando file?

0

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.

    
por tmpbin 30.11.2015 / 15:02

2 respostas

5

O comando file não aceita entrada de stdin . Você precisará fazer algo como which cp | xargs file

    
por 30.11.2015 / 15:04
2

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.

    
por 30.11.2015 / 18:53

Tags