tubo de redirecionamento do Linux

0

Eu estava testando um tipo de indireção para trás e me deparei com isso. Eu não estou especificando o comportamento desejado como não há nenhum - eu só quero entender os resultados - um link sym para um pipe (sem nome?)? Em poucos passos, o que está acontecendo?

pehlic@ely:~/src/bash/sandbox/bash$ ls -al >(cat)
l-wx------ 1 pehlic pehlic 64 Jan 13 23:39 /dev/fd/63 -> pipe:[26718]
    
por Charles Pehlivanian 14.01.2016 / 17:29

1 resposta

1

Isso não está realmente fazendo um ls -al e passando isso para cat , ele está fazendo uma substituição de processo em cat e apresentando isso como um arquivo para ls -al , que então fará uma listagem no arquivo.

Assim, a substituição do processo cria um canal conectando um objeto de arquivo e stdin do programa "interno", cat aqui e apresenta um arquivo para o programa "externo". Então você faz um ls , e vê que ele ofereceu o "arquivo" /dev/fd/63 .

    
por 14.01.2016 / 17:32

Tags