Como capto a saída de um comando para um descritor de arquivo no shell de Bourne?

StackOverflow https://stackoverflow.com/questions/624520

  •  05-07-2019
  •  | 
  •  

Pergunta

A maneira padrão de capturar a saída de comando no Bourne Shell é usar o $() sintaxe:

output=$(mycommand)

Para comandos que têm muita saída, no entanto, isso requer a memória do shell para a coisa toda como uma string longa. Eu prefiro encontrar algo que faça o equivalente moral da função Unix C popen, para obter um novo descritor de arquivo que eu poderia read a partir de:

newfd=popen(mycommand)
while read -u $newfd LINE; do
  #process output
done

Isso é possível?

Foi útil?

Solução

#!bash
ls | while read X
do 
    echo  $X is a directory entry
done

Substitua 'ls' pelo comando de sua escolha

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top