make ausgabe mag nicht umgelenkt werden

soul_rebel

ist immer auf der flucht
wenn die ausgabe von make umgelengt wird verschwindet sie...
also wenn man zum beispiel ein
Code:
make -V SUBDIR
in /usr/ports macht sieht man den inhalt der variablen aber mit
Code:
make -V SUBDIR 2>&1
sieht man nix mehr (obwohl ja eigentlich nur error auf stdout gelengt werden sollte...
das wäre ja eigentlich auch nicht mein problem sondern dasselbe tritt auch auf wenn man einen make aufruf durch kdesu aufruft (wobei der output stream afaik auch umgeleitet wird auch wenn er danach wieder in der shell landet).
hat jemand ne idee?
 
Was ist überhaupt der Zweck der Übung? Nervt Dich der massenhafte Output, oder willst Du später noch wissen, was gelaufen ist? Ist 'script' eine Lösung für Dich?
 
Meine Kristallkugel sagt, dass du die tcsh verwendest. Einfach mal tcsh(1) lesen, dann wird klar, warum das so nicht geht.
 
MrFixit schrieb:
Meine Kristallkugel sagt, dass du die tcsh verwendest.
knapp daneben, root standard shell ist die csh bei mir, aber mit der bash gibt es das problem mit "2>&1" (wobei das unten beschriebene problem bleibt"

-Daemon- schrieb:
man tee vielleicht?
...

Steve` schrieb:
Was ist überhaupt der Zweck der Übung?
ich möchte
Code:
kdesu -t -c "make fetchindex"
in /usr/ports ausführen aber gern den inhalt der ausgabe mitkriegen... aber die ausgabe ist nur ein newline...
danke
 
also erst mal @MrFixit: du hattest oben schon recht die i-o-umlenkung für die csh hatte ich schon falsch gemacht, aber das problem besteht weiter.
undzwar liegt es an fetch(1) glaube ich... es reportet erstens allen output auf stderr was ich komisch finde aber was ja durch 2>&1 kein problem sein sollte (kdesu benutzt ja /bin/sh denke ich, ansonsten kann man ja auch explizit /bin/sh benutzen lassen);
wenn ich jetzt aber
Code:
kdesu -t -c "/bin/sh -c 'cd /usr/ports && make fetchindex 2>&1'"
ausführe bleibt der output blank, obwohl
Code:
make fetchindex 2>&1
unter sh als root schon den progress anzeigt. (also ein problem von kdesu dachte ich) hba deswegen nochmal ein tee drangehängt ->
Code:
kdesu -t -c "/bin/sh -c 'cd /usr/ports && make fetchindex 2>&1 | tee'"
und siehe da es produziert output! :confused: aber egal

jedoch ist mir hier dann das nächste problem aufgefallen, fetch formatiert den output etwas komisch dadurch das es die prozentanzeige in der line ändert was dazu führt dass am ausgang der pipe nur eine verhackstückte zeile ankommt - ohne prozent und halt auch nur eine und erst wenns fertig ist - also auch unbrauchbar um den fortschritt "on-the-fly" auszulesen :mad:
ich weiß aber z.b. das wenn man den output von portupgrade (welches auch fetch benutzt) piped, dass man dann einfach mehrere lines mit prozentnummern hintereinander bekommt...

wenn jemand klarheit schaffen kann wäre das super, ansonsten werde ich darauf verzichten den progress auszulesen und einfach warten bis es fertig ist...
 
Ich muss nochmal nachfragen, das Problem liegt also nun an kdesu, richtig?

Diese progressiven Statusausgaben sind halt schwierig, weil eigentlich nur auf dem Terminal ne Zeile ueberschrieben wird. Ich habe sowas noch nicht programmiert (weil es scheisse weiterzuverarbeiten ist) aber ich denke das laeuft etwa so, dass man die Zeile schreibt, in Spalte 0 springt, und die neue Zeile schreibt.

Du willst also quasi ein fetch, welches einfach nur "1%\n2%\n3%\n..." ausgibt. Da gibt es generell drei Moeglichkeiten: Schreibe fetch(1) um, schreibe einen Wrapper, der das hinkriegt oder verwende ein anderes Programm (z.B. wget).

hth
 
MrFixit schrieb:
Ich muss nochmal nachfragen, das Problem liegt also nun an kdesu, richtig?
nuja teil des problems halt
Du willst also quasi ein fetch, welches einfach nur "1%\n2%\n3%\n..." ausgibt. Da gibt es generell drei Moeglichkeiten: Schreibe fetch(1) um, schreibe einen Wrapper,
sooo wichtig isses mir bei gott nich
verwende ein anderes Programm (z.B. wget).
will keine zusätzlichen abhängigkeiten....
aber ich glaube wirklich dass ich es einfach dabei belasse, der download dauert ja nur ein paar sekunden bei den meisten, da kann man auf ne prozentanzeige verzeichten oder?

danke trotzdem!
 
diesen irrtum meinerseits habe ich doch schon vor 2 posts korrigiert...

p.s.: woher soll man das auch wissen wenn man immer nur mit bourne und korn shells gearbeitet hat...
 
Zurück
Oben