Sie versuchen zu erfassen javac-Ausgabe in der bash-shell
Ich versuche die Umleitung der java-compiler die Ausgabe in eine Datei.
Ich dachte es sein soll:
javac file.java > log.txt
oder so etwas. Stattdessen sehe ich die Ausgabe auf das terminal, und nichts in log.txt!
Auch, wenn ich will, um die Fehler protokollieren zu, mache ich
javac file.java 2>&1 > log.txt
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Grund dafür ist, dass Sie zwei output file descriptors ' anstatt von einem. Das übliche ist die Ausgabe auf stdout, dem Sie die Umleitung mit > und es soll verwendet werden für die resultierende Ausgabe. Der zweite, stderr, ist gedacht für Menschen lesbare Ausgabe wie Warnungen, Fehler, current status etc., dies ist eine Weiterleitung mit 2>.
Ihre zweite Zeile mit 2>&1 leitet stderr auf stdout und schließlich stdout in log.txt.
Haben Sie versucht,
Diese senden compiler-Fehlermeldungen in eine Protokolldatei statt stderr.