2017-06-27 4 views
1

Ainsi, pour une raison quelconque, lorsque je lance mon script et que je l'envoie au terminal comme il le ferait, j'obtiens la sortie voulue. Pourtant, lorsque je redirige la sortie vers un fichier, je ne reçois pas la sortie complète.Sortie vers le terminal différent de I rediriger la sortie vers le fichier ET la sortie vers le terminal

Disons que j'ai un exécutable nommé « nom de fichier » et lancez « ./filename », la sortie du terminal est, disons:

a 
b 
c 

Pourtant, si je fais » ./filename> sortie txt « ou » ./filename | & tee sortie.txt », la sortie sur le terminal et le fichier texte sortie.txt est juste, disons:

a 
b 

Je sais que ce n'est pas très précis, mais ma production est énorme. Je pensais que ce serait assez général pour fournir des solutions générales/problèmes possibles. J'utilise un programme créé par quelqu'un d'autre, donc je ne sais pas où cette sortie supplémentaire est appelée. Pourtant, cela ne devrait pas importer puisque la fonctionnalité du programme ne change pas, juste ce qui est produit.

+0

Je sais que je C'est possible, allez voir comment WeAllContribute fait ça sur GitHub (c'est le seul paquetage que je connais) –

Répondre

0

Sans un échantillon de code minimal à reproduire, il est très difficile de deviner ce qui se passe.

Mais certaines choses que vous pourriez essayer:

  • Redirect tous les flux de sortie à votre dossier, à savoir your-script &> output.txt
  • courir par strace et chercher write et open appels pour voir ce qui se passe
  • Lire et déboguer le code source pour comprendre ce qui se passe