¿Cómo capturo la salida de un comando a un descriptor de archivo en el shell Bourne?

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

  •  05-07-2019
  •  | 
  •  

Pregunta

La forma estándar de capturar la salida del comando en el shell Bourne es usar la sintaxis $ () :

output=$(mycommand)

Para los comandos que tienen mucha salida, sin embargo, esto requiere que el shell asigne memoria para todo esto como una cadena larga. Preferiría encontrar algo que tenga el equivalente moral de la función popen de Unix C, para obtener un nuevo descriptor de archivo que podría leer de:

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

¿Es esto posible?

¿Fue útil?

Solución

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

Reemplaza 'ls' con el comando que elijas

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top