Avec toutes les questions et réponses sur la redirection des flux de shell, je suis surpris que j'envoie l'un des miens, mais je n'arrive pas à trouver quoi que ce soit semblable en ligne.Shell redirection: La commande ne semble pas sortir sur stdout ou stderr
Pour décrire simplement ma situation, j'essaye d'écrire un script bash qui exécutera une application binaire particulière et regarder la sortie pour des chaînes particulières afin qu'elle puisse agir sur eux.
j'ai pu obtenir la fonctionnalité souhaitée avec un script de test qui se tenait pour mon application binaire. Cependant, en cours d'exécution contre le réel, il ne semble pas capturer toutes les sorties. Quand je lance l'application binaire seul, il produit en tant que tel
status OK
something A
something B
...
something Z
status OK
something A
Mais lorsque je tente de rediriger cette sortie pour l'analyse, je reçois seulement les lignes « statut OK ». Toutes les bonnes choses entre les deux sont absentes. Cela est vrai même si j'essaie de le rediriger vers un fichier avec>. Au début, je pensais qu'il pourrait mettre "status" sur stdout et le "something" sur stderr, mais cela ne semble pas être le cas.
Si cette application est capable de sortir des choses au terminal que je peux lire, comment je ne suis pas capable de le capturer? Est-il possible que la mise en forme soit étrange de telle sorte qu'elle soit interprétée correctement par l'affichage du terminal, mais d'une manière ou d'une autre par aucune sorte de redirection?
Toute idée serait très apprécié!
S'il vous plaît jeter un oeil à [Comment créer un exemple minimal, complet et Vérifiable] (http://stackoverflow.com/help/mcve). Ajoutez votre code à votre question. – Cyrus
Cela dépend vraiment de ce que fait l'application binaire. Cela pourrait être l'envoi de la sortie vers/dev/tty. Il se peut que ce soit en vérifiant stdout et/ou stderr pour voir s'il s'agit de terminaux. Ça pourrait ... faire presque n'importe quoi. –
@Cyrus Je ne suis pas en mesure de poster le code exact pour des raisons juridiques, mais néanmoins, les détails vitaux sont cachés dans l'application binaire et je n'ai pas le code source. Ma question est principalement de comprendre quelles sont les façons possibles pour qu'une application puisse envoyer du texte au terminal d'une manière qui ne puisse pas être redirigée via> ou 2>.Mais oui, je comprends que c'est une question assez ouverte. – Matt