Comment capturer la sortie d'une commande dans un descripteur de fichier dans Bourne Shell?

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

  •  05-07-2019
  •  | 
  •  

Question

Pour capturer le résultat d'une commande dans un shell Bourne, la méthode standard consiste à utiliser la syntaxe $ () :

output=$(mycommand)

Pour les commandes qui génèrent beaucoup de sorties, le shell doit allouer de la mémoire pour le tout sous la forme d'une longue chaîne. Je préférerais trouver quelque chose qui fasse l'équivalent moral de la fonction popen d'Unix C, pour obtenir un nouveau descripteur de fichier, je pourrais lire dans:

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

Est-ce même possible?

Était-ce utile?

La solution

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

Remplacez "ls" par la commande de votre choix

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top