Hallo,
vermutlich ist es wieder einmal ein ganz bloedes Problem. Aber ich
moechte die Ausgabe z.B. von ps in eine Datei umleiten.
Mit ps > ps.out eigentlich kein Problem. Aber: Wenn die Zeilen fuer das
xterm-Fenster (oder auch die Konsole) zu lang sind und deshalb
abgeschnitten werden, fehlt nachher auch der Rest im Ausgabe-File.
ps 2>&1 > ps.out bringt auch kein besseres Ergebnis.
man stdout und man bash haben mir nicht weiter geholfen (letztere
vielleicht nur wegen meiner schlechten Englischkenntnisse).
Gruss,
Heinz.
--
E-Mail: Heinz W. Pahlke
Hallo Heins, * Am 04.01.2000 um 13:07 Uhr schrieb Heinz W. Pahlke:
Mit ps > ps.out eigentlich kein Problem. Aber: Wenn die Zeilen fuer das xterm-Fenster (oder auch die Konsole) zu lang sind und deshalb abgeschnitten werden, fehlt nachher auch der Rest im Ausgabe-File.
versuch's mal mit einem w z.B. ps waux >ps.log MfG. Jürgen -- Laut Statistik sind 100% aller Hausfrauen weiblich. /_Registered_Linux-User_#130804_________________________http://counter.li.org_\ \_Linux_Stammtisch_Bremerhaven_________________http://linux.hs-bremerhaven.de_/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 04-Jan-00 Juergen Schwarting wrote:
versuch's mal mit einem w
z.B. ps waux >ps.log
Danke fuer diesen Tip, aber er loest mein Problem leider nur teilweise.
Will ich z.B. die Ausgabe von "fax status" (efax) in eine Datei
umleiten, funktioniert es so natuerlich nicht. Insofern war mein
Beispiel schlecht gewaehlt (da ps nur ein Beispiel war, habe ich
natuerlich auch nicht man ps konsultiert).
Was ich suche, ist also eine Moeglichkeit, mit Mitteln der Bash stdout
so umzuleiten, dass alle Zeilen der Ausgabe _komplett_ in eine Datei
geschrieben werden.
Gruss,
Heinz.
--
E-Mail: Heinz W. Pahlke
On Tue Jan 04 2000, Heinz W. Pahlke wrote:
vermutlich ist es wieder einmal ein ganz bloedes Problem. Aber ich moechte die Ausgabe z.B. von ps in eine Datei umleiten.
man tee -- Heinz --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 04-Jan-00 Heinz Diehl wrote:
vermutlich ist es wieder einmal ein ganz bloedes Problem. Aber ich moechte die Ausgabe z.B. von ps in eine Datei umleiten.
man tee
Genau das gleiche Problem: Nur die Ausgabe, die auch im xterm-Fenster
erscheint, wird in die Datei umgeleitet. Da das xterm-Fenster aber
haeufig fuer Ausgaben zu schmal ist, fehlen nachher auch die
Zeilenenden in der Datei.
Trotzdem Danke,
Heinz.
--
E-Mail: Heinz W. Pahlke
On Tue, 4 Jan 2000, Heinz W. Pahlke wrote:
Hallo,
[...] Aber ich moechte die Ausgabe z.B. von ps in eine Datei umleiten.
Mit ps > ps.out eigentlich kein Problem. Aber: Wenn die Zeilen fuer das xterm-Fenster (oder auch die Konsole) zu lang sind und deshalb abgeschnitten werden, fehlt nachher auch der Rest im Ausgabe-File.
Ich habe das mit einem 3-Zeiler in Perl probiert, der mir 2*49 mal "laaaanges Wort" in je eine Zeile schreibt. Die Ausgabe wird sowohl im K-Terminal als auch auf der Konsole als auch im xterm umgebrochen. Umleitung in eine Datei und Ausgabe mit cat funktioniert genauso. Das Ergebnis läßt sich auch mit wc kontrollieren. Welches Terminal hast Du verwendet? Wie sieht die Umleitung genau aus? Gruß Uwe -- Uwe Baxmann, Leichlingen uwe.baxmann@wupperonline.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 04-Jan-00 Uwe Baxmann wrote:
Ich habe das mit einem 3-Zeiler in Perl probiert, der mir 2*49 mal "laaaanges Wort" in je eine Zeile schreibt. Die Ausgabe wird sowohl im K-Terminal als auch auf der Konsole als auch im xterm
Wenn Du mir das mal mailen koenntest, waere es nett, denn mit Perl habe ich mich bisher nicht im Ansatz beschaeftigt. Bislang konnte ich noch alles mit Mitteln der bash bewaeltigen.
umgebrochen. Umleitung in eine Datei und Ausgabe mit cat funktioniert genauso. Das Ergebnis läßt sich auch mit wc kontrollieren. Welches Terminal hast Du verwendet? Wie sieht die Umleitung genau aus?
Im xterm mit "fax status 2>&1 > status.out".
Wenn ich das xterm-Fenster in der Breite ueber den gesamten virtuellen
Bildschirm vergroessere, passt die Ausgabe ja hinein und wird auch in
status.out geschrieben. Aber das Gelbe vom Ei ist es irgendwie nicht.
Gruss,
Heinz.
--
E-Mail: Heinz W. Pahlke
Hi, Heinz! Heinz W. Pahlke schrieb in 1,2K (39 Zeilen):
Im xterm mit "fax status 2>&1 > status.out".
Du meinst fax status > status.out 2>&1 oder fax status &> status.out Sonst wird STDERR nicht sauber umgebogen. -Wolfgang --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Heinz W. Pahlke schrieb am 04.Jan.2000:
vermutlich ist es wieder einmal ein ganz bloedes Problem. Aber ich moechte die Ausgabe z.B. von ps in eine Datei umleiten.
Mit ps > ps.out eigentlich kein Problem. Aber: Wenn die Zeilen fuer das xterm-Fenster (oder auch die Konsole) zu lang sind und deshalb abgeschnitten werden, fehlt nachher auch der Rest im Ausgabe-File.
Bist Du Dir da sicher? Die Ausgabe in einem file hat nämlich nichts mit dem Bildschirm zu tun. Wie schaust Du Dir denn diese Datei an? vielleicht wird erst hier abgeschnitten. Oder es wird gar nicht abgeschnitten, sondern nur nicht angezeigt. Versuch doch einfach mal Cursor rechts, während Du Dir die Datei ansiehst. Bern -- Hier ist eine Baustelle. Signatur wird überarbeitet. |Zufallssignatur 08 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 05-Jan-00 Bernd Brodesser wrote:
* Heinz W. Pahlke schrieb am 04.Jan.2000:
[..] Mit ps > ps.out eigentlich kein Problem. Aber: Wenn die Zeilen fuer das xterm-Fenster (oder auch die Konsole) zu lang sind und deshalb abgeschnitten werden, fehlt nachher auch der Rest im Ausgabe-File.
Bist Du Dir da sicher? Die Ausgabe in einem file hat nämlich nichts mit dem Bildschirm zu tun.
Das dachte ich bisher auch.
Wie schaust Du Dir denn diese Datei an? vielleicht wird erst hier
less, cat, more, vi, applix - das Ergebnis bleibt gleich, die Zeilen sind immer dort abgeschnitten, wo die Bildschirm-Ausgabe durch den rechten xterm-Rand abgeschnitten wurde.
abgeschnitten. Oder es wird gar nicht abgeschnitten, sondern nur nicht angezeigt. Versuch doch einfach mal Cursor rechts, während Du Dir die Datei ansiehst.
Laengst versucht, weil das natuerlich erst einmal naheliegend ist. Nur
das ist es eben auch nicht.
Meine einzige Erklaerung ist, dass der bash oder xterm irgendeine
Option mitgegeben wird, die dies bewirkt. Aber man bash und man xterm
haben mir bisher, vermutlich auch aufgrund meines schlechten Englischs,
nicht weitergeholfen. Ein set brachte aber nichts zutage, was mir
aufgefallen waere.
Hat denn sonst niemand in der Liste dieses Problem, oder stoert es ihn
einfach nicht?
Gruss,
Heinz.
--
E-Mail: Heinz W. Pahlke
Hallo,
Mit ps > ps.out eigentlich kein Problem. Aber: Wenn die Zeilen fuer das xterm-Fenster (oder auch die Konsole) zu lang sind und deshalb abgeschnitten werden, fehlt nachher auch der Rest im Ausgabe-File.
Meine einzige Erklaerung ist, dass der bash oder xterm irgendeine Option mitgegeben wird, die dies bewirkt. Aber man bash und man xterm haben mir bisher, vermutlich auch aufgrund meines schlechten Englischs, nicht weitergeholfen. Ein set brachte aber nichts zutage, was mir aufgefallen waere.
was macht Ihr da eigentlich? man ps: ----- w wide output: don't truncate command lines to fit on one line. To be exact, every w that is specified will add another possible line to the output. If the space isn't needed it isn't used. You may up to 100 w's. ----- ciao, Adalbert --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 05-Jan-00 Michelic Adalbert wrote:
was macht Ihr da eigentlich? man ps: ----- w wide output: don't truncate command lines to fit on one line. To be exact, every w that is specified will add another possible line to the output. If the space isn't needed it isn't used. You may up to 100 w's. -----
Sorry, aber jetzt sind wir wieder am Anfang des Problems angelangt. Wie
ich bereits geschrieben habe, ist das ps-Beispiel schlecht gewaehlt
gewesen. Eigentlich geht es mir um die Ausgabe von Programmen wie efax.
Wenn ich z.B. dessen Status mit "fax status" abfrage, habe ich eben
nicht diese Moeglichkeit eines kleinen "w".
Eigentlich sollte es dann aber mit
fax status > ausgabe.datei oder
fax status 2>&1 > ausgabe.datei
gehen. Aber, wie nun ebenfalls schon einige Male geschrieben, das
fuehrt zu hinten abgeschnittenen Zeilen.
Gruss,
Heinz.
--
E-Mail: Heinz W. Pahlke
* Heinz W. Pahlke schrieb am 05.Jan.2000:
Eigentlich sollte es dann aber mit
fax status > ausgabe.datei oder
fax status 2>&1 > ausgabe.datei
gehen. Aber, wie nun ebenfalls schon einige Male geschrieben, das fuehrt zu hinten abgeschnittenen Zeilen.
Ich schätze mal ganz stark, daß ps oder fax der Übeltäter ist. Oder passiert es auch mit cat? cat datei > datei1 Bernd -- Alle meine Signaturen sind rein zufällig und haben nichts mit dem Text oder dem Schreiber zu tun, dem ich antworte. Falls irgendwelche Unrichtigkeiten dabei sein sollten, so bedauere ich das. Es wäre nett, wenn Du mich benachrichtigen würdest. |Zufallssignatur 0 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 05-Jan-00 Bernd Brodesser wrote:
* Heinz W. Pahlke schrieb am 05.Jan.2000:
Eigentlich sollte es dann aber mit
fax status > ausgabe.datei oder
fax status 2>&1 > ausgabe.datei
gehen. Aber, wie nun ebenfalls schon einige Male geschrieben, das fuehrt zu hinten abgeschnittenen Zeilen.
Ich schätze mal ganz stark, daß ps oder fax der Übeltäter ist. Oder passiert es auch mit cat? cat datei > datei1
Wenn datei komplette Zeile enthaelt, sind sie natuerlich (?) auch in
datei1 drin.
Inzwischen habe ich das Problem aber soweit eingekreist, dass es immer
passiert, wenn Programme ihre Ausgabe im xterm nicht an die Breite des
xterm-Fensters anpassen.
D.h. bei der Ausgabe-Umlenkung wird tatsaechlich nur das in die Datei
geschrieben, was auch im xterm-Fenster zu sehen waere. Bei unbekannten
oder sehr "breiten" Ausgaben ist das natuerlich reichlich laestig, weil
ich vorher immer die zu erwartende Ausgabe kontrollieren und das
xterm-Fenster anpassen muss.
Gruss,
Heinz.
Was mich fasziniert, dass andere dieses Problem offenbar nicht haben.
--
E-Mail: Heinz W. Pahlke
On Thu, 06 Jan 2000, Heinz W. Pahlke wrote:
D.h. bei der Ausgabe-Umlenkung wird tatsaechlich nur das in die Datei geschrieben, was auch im xterm-Fenster zu sehen waere. Bei unbekannten oder sehr "breiten" Ausgaben ist das natuerlich reichlich laestig, weil ich vorher immer die zu erwartende Ausgabe kontrollieren und das xterm-Fenster anpassen muss.
Ist ein Problem von ps (und eventuall auch anderen tools). Wenn die Ausgabe umgeleitet wird schneidet es bei 80 Zeichen ab, und das obwohl mein Terminal-Fenster ca. 90 Zeichen breit ist. Ohne Umleitung wird bei Terminal-Breite abgescvhnitten.
Was mich fasziniert, dass andere dieses Problem offenbar nicht haben.
Ich habe mich inzwischen damit abgefunden das man nichts dagegen tun kann. CU Dirk -- Dirk Pirschel EMail: dirk@pirschel.de (PGP key on request) dirk.pirschel@fernuni-hagen.de WWW: http://pirschel.de "If Microsoft can change and compete on quality, I've won." -- Linus Torvalds --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Dirk Pirschel wrote:
On Thu, 06 Jan 2000, Heinz W. Pahlke wrote:
D.h. bei der Ausgabe-Umlenkung wird tatsaechlich nur das in die Datei geschrieben, was auch im xterm-Fenster zu sehen waere. Bei unbekannten oder sehr "breiten" Ausgaben ist das natuerlich reichlich laestig, weil ich vorher immer die zu erwartende Ausgabe kontrollieren und das xterm-Fenster anpassen muss.
Ich gebe jetzt auch noch meine Senf dazu: In der Shell gibt es zwei Variablen LINES und COLUMNS. Diese werden normalerweise dynamisch an die Terminalfenstergroesse angepasst. Ev. werdet dein Program diese Variablen aus und passt den Output entsprechend an. Auswerten der Variablen bei mir: xx:~ > echo $LINES 49 xx:~ > echo $COLUMNS 116 Wer weiss, vielleicht hilfts Gruss Daniel --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 06-Jan-00 Daniel buergin wrote:
Ich gebe jetzt auch noch meine Senf dazu:
Danke, das bringt mich tatsaechlich ein kleines Stueck weiter.
In der Shell gibt es zwei Variablen LINES und COLUMNS. Diese werden normalerweise dynamisch an die Terminalfenstergroesse angepasst. Ev. werdet dein Program diese Variablen aus und passt den Output entsprechend an. Auswerten der Variablen bei mir: [...] xx:~ > echo $COLUMNS 116
Vorgabe auf meinem System: 80. (offenbar aus /etc/termcap)
Ich habe es deshalb einfach mal mit einem export COLUMNS=180 (sowohl
als root als auch als user) versucht. set gibt dann auch brav ein
COLUMNS=180 aus. Bloss das Umleitungsproblem bleibt. Es wird weiterhin
nach dem 80. Zeichen abgeschnitten.
Da es bei einem export COLUMNS=50 aber auch dabei bleibt, dass nach dem
80. Zeichen abgescnitten wird, muss offenbar noch eine Variable
ausgewertet werden. Evtl auch aus der termcap? Aber die zu verstehen,
werde ich wohl ein paar Abende brauchen.
Gruss,
Heinz.
--
E-Mail: Heinz W. Pahlke
"Heinz W. Pahlke" wrote:
On 06-Jan-00 Daniel buergin wrote:
Ich gebe jetzt auch noch meine Senf dazu:
Danke, das bringt mich tatsaechlich ein kleines Stueck weiter.
In der Shell gibt es zwei Variablen LINES und COLUMNS. Diese werden normalerweise dynamisch an die Terminalfenstergroesse angepasst. Ev. werdet dein Program diese Variablen aus und passt den Output entsprechend an. Auswerten der Variablen bei mir: [...] xx:~ > echo $COLUMNS 116
Vorgabe auf meinem System: 80. (offenbar aus /etc/termcap)
Ich habe es deshalb einfach mal mit einem export COLUMNS=180 (sowohl als root als auch als user) versucht. set gibt dann auch brav ein COLUMNS=180 aus. Bloss das Umleitungsproblem bleibt. Es wird weiterhin nach dem 80. Zeichen abgeschnitten.
Da es bei einem export COLUMNS=50 aber auch dabei bleibt, dass nach dem 80. Zeichen abgescnitten wird, muss offenbar noch eine Variable ausgewertet werden. Evtl auch aus der termcap? Aber die zu verstehen, werde ich wohl ein paar Abende brauchen.
Schau mal wie die stty Settings aussehen:
stty -a
gibt bei mir: bue@bazllix2:~ > stty -a speed 38400 baud; rows 50; columns 129; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undefiniert>; eol2 = <undefiniert>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke Eventuell kannst du mit:
stty columns 180
etwas machen Eine weiter Möglichkeit wäre ein Versuch mit "strace". Ich weiss nicht ob du dieses Progi kennst. Ist in der SuSE Distribution. Hat mir schon manchen Dienst erwiesen. Mit diesem Progi kannst du alle Systemcalls die ein Program macht aufzeichnen. Beispiel:
strace ls 2>strace.output # Normaler ls Output kommt ueber STDOUT vi strace.output
Etwas sehr kryptisch aber mit viel Geduld bekommt man div. Informationen was ein Program auf dem System so anstellt. Z.B. Welche Files wo angelegt werden, welche Pfade in welcher Reihenfolge abgesucht werden, ob ein Program wegen einer fehlenden Berechtigung einfach terminiert usw. Gruss Daniel --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 06-Jan-00 Daniel buergin wrote:
Eventuell kannst du mit:
stty columns 180
etwas machen
Wieder ein kleiner Schritt weiter. Damit stimmt jetzt wenigstens die
Ausgabe im xterm-Fenster. Jetzt muss ich nur noch herausbekommen, wie
ich die Einstellung dauerhaft mache. Einfach eine Zeile stty columns
180 in der ~/.bashrc reicht nicht aus. Wenn ich die Groesse des
xterm-Fensters veraendere, geht die Einstellung wieder verloren, d.h.
columns faellt auf die tatsaechliche Breite dieses Fensters zurueck.
Leider verraten man stty und man 3 stty nicht, wie man wo was eintragen
muss.
Bei der Umleitung in eine Datei wird allerdings weiter nach der 80.
Stelle abgeschnitten. Egal ob ich nur ein >, 2>&1 oder |tee verwende.
In der Hoffnung, dass ich mit diesem Thema nicht langsam anfange zu
nerven, bedanke ich mich schon mal bei allen, die mir bislang geholfen
haben.
Gruss,
Heinz.
--
E-Mail: Heinz W. Pahlke
* Heinz W. Pahlke schrieb am 06.Jan.2000:
In der Hoffnung, dass ich mit diesem Thema nicht langsam anfange zu nerven, bedanke ich mich schon mal bei allen, die mir bislang geholfen haben.
Hallo Heinz, ach was, Du nervst nicht. Ich denke, das alles ist ein Fehler von ps und ähnlichen Programmen. Wende Dich doch mal an die Entwickler. Bernd -- Hast Du bei Problemen schon in der SuSE-Support-Datenbank (SDB) nachgesehen? Auf Deinem Rechner: file://usr/doc/susehilf/index.html | mit Apache: http://localhost/doc/susehilf/index.html | Zufalls- Tagesaktuell bei SuSE: http://sdb.suse.de/sdb/de/html/index.html | signatur 2 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 07-Jan-00 Bernd Brodesser wrote:
ach was, Du nervst nicht. Ich denke, das alles ist ein Fehler von ps und ähnlichen Programmen. Wende Dich doch mal an die Entwickler.
Schoen. Bloss ob es ein Fehler von aehnlichen Programmen (ps kennt ja die Option w, wie Adalbert schrieb) ist, bezweifle ich sehr. Mein Eindruck ist eher, dass die Umleitung der stdout anders funktioniert als ich bisher dachte. Mit dem Tip stty columns 180 von Daniel habe ich es inzwischen ja geschafft, dass die Ausgabe im xterm korrekt erfolgt, d.h. Zeilen, die "breiter" als das xterm-Fenster sind, werden umbrochen. Nur - nach meinem bisherigen Verstaendnis muessten 2>&1 > oder auch einfach nur
ausgabe.datei diese (xterm-)Ausgabe 1:1 in eine Datei umlenken. Doch das eben passiert nicht. In der Datei kommen die Zeilen wieder nur abgeschnitten an.
Der Nebeneffekt ist zudem, dass der vi(m) dann verrueckt spielt. Ein
Navigieren des Cursors ist nahezu unmoeglich. Und was soll ich ohne vi?
Aber auch wenn es mir nicht gelingen sollte, dieses Problem zu loesen,
habe ich doch wieder viel dazugelernt. Und das ist ja immerhin auch
etwas.
Gruss,
Heinz.
--
E-Mail: Heinz W. Pahlke
* Heinz W. Pahlke wrote on Fri, Jan 07, 2000 at 19:12 +0100:
Schoen. Bloss ob es ein Fehler von aehnlichen Programmen (ps kennt ja die Option w, wie Adalbert schrieb) ist, bezweifle ich sehr. Mein Eindruck ist eher, dass die Umleitung der stdout anders funktioniert als ich bisher dachte.
Im Prinzip gibt's ja nur Dateien - ob nu Terminal oder Gerät, kaum Unterschied. Allerdings bekommt ein Programm nun ziemlich leicht herraus, ob ein Filehandle ein Terminal ist, oder nicht (is_tty oder so ne ähnliche Funktion), das wird auch i.d.R. gemacht, bevor man z.B. an der Linediscipline rumbastelt oder so. Das erkennt man schön bei cat /etc/hosts|vi oder so. Schau doch mal in die Quellen des Programms, ich vermute mal, da ist einfach mal ein Bug drin, bzw. ein logischer Fehler. Da es ja im Falle einer Terminalausgabe die Ausgabebreite korrekt verwendet, und im Falle einer "echten" Dateiausgabe nicht, könnte z.B. der Umbruch bei 80 Zeichen eine Art "default" sein, sowas wäre insbesondere bei relativ stark plattformunabhängigen Programmen denkbar.
"breiter" als das xterm-Fenster sind, werden umbrochen. Nur - nach meinem bisherigen Verstaendnis muessten 2>&1 > oder auch einfach nur
AFAIK wird bei 2>&1 von der Shell ein "dup" gemacht, d.h. das Filehandle wird kopiert, so daß STDERR die gleichen Eigenschaften hat wie STDOUT.
ausgabe.datei diese (xterm-)Ausgabe 1:1 in eine Datei umlenken. Doch
Die Frage bleibt: was tut Dein Programm, wenn es feststellt, daß es nicht in ein Terminal schreibt!
Der Nebeneffekt ist zudem, dass der vi(m) dann verrueckt spielt. Ein Navigieren des Cursors ist nahezu unmoeglich. Und was soll ich ohne vi?
Wenn Du direkt mit stty oder so in der Linediscipline oder in den Terminalsettings "herrumpfuschts", _muß_ der vi ja verrückt spielen, denn er kann ja nur die Werte verwenden, die ihm das OS sagt, und wenn die falsch sind, weil Du es dem OS befohlen hast (und Linux macht das dann auch, im Gegensatz zu anderen Produkten :)), muß die Ausgabe falsch werden...
Aber auch wenn es mir nicht gelingen sollte, dieses Problem zu loesen, habe ich doch wieder viel dazugelernt. Und das ist ja immerhin auch etwas.
Bevor Du noch Stunden herrumprobierst, wirf doch mal ein Blick in die Sourcen, vielleicht wird immer 80 genommen, es sei denn, es ist 100% klar, das das Terminal breiter ist. Ich habe auch keine Idee, wie man es so trixen kann, das ein File wie ein Terminal "aussieht" - auf die Idee kommt man ja gar nicht, denn was soll rauskommen, wenn man die Baudrate einer Datei im fs ändert ;) oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Steffen Dettmer schrieb am 07.Jan.2000:
* Heinz W. Pahlke wrote on Fri, Jan 07, 2000 at 19:12 +0100:
Schoen. Bloss ob es ein Fehler von aehnlichen Programmen (ps kennt ja die Option w, wie Adalbert schrieb) ist, bezweifle ich sehr. Mein Eindruck ist eher, dass die Umleitung der stdout anders funktioniert als ich bisher dachte.
Im Prinzip gibt's ja nur Dateien - ob nu Terminal oder Gerät, kaum Unterschied. Allerdings bekommt ein Programm nun ziemlich leicht herraus, ob ein Filehandle ein Terminal ist, oder nicht (is_tty oder so ne ähnliche Funktion), das wird auch i.d.R. gemacht, bevor man z.B. an der Linediscipline rumbastelt oder so. Das erkennt man schön bei cat /etc/hosts|vi oder so. Schau doch mal in die Quellen des Programms, ich vermute mal, da ist einfach mal ein Bug drin, bzw. ein logischer Fehler. Da es ja im Falle einer Terminalausgabe die Ausgabebreite korrekt verwendet, und im Falle einer "echten" Dateiausgabe nicht, könnte z.B. der Umbruch bei 80 Zeichen eine Art "default" sein, sowas wäre insbesondere bei relativ stark plattformunabhängigen Programmen denkbar.
Soetwas vermute ich auch sehr stark. Aber wie willst Du es in den Quellen finden? Es wird ja gerade nicht zwichen Terminal un Dateiausgabe/Pipelining unterschieden. Man müsste ja den ganzen Code absuchen. Das ist wohl ein bisschen viel. Bernd -- Umsteiger von Microsoft Windows xx? Hast Du schon file://usr/doc/howto/de/DE-DOS-nach-Linux-HOWTO.txt gelesen? Auch file://usr/doc/Books/Linuxhandbuch.dvi ist zu empfehlen. |Zufallssignatur 1 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Bernd Brodesser wrote on Sat, Jan 08, 2000 at 09:54 +0100:
oder so. Schau doch mal in die Quellen des Programms, ich vermute mal, da ist einfach mal ein Bug drin, bzw. ein logischer Fehler. Da es ja im Falle einer Terminalausgabe die Ausgabebreite korrekt verwendet, und im Falle einer "echten" Dateiausgabe nicht, könnte z.B. der Umbruch bei 80 Zeichen eine Art "default" sein, sowas wäre insbesondere bei relativ stark plattformunabhängigen Programmen denkbar.
Soetwas vermute ich auch sehr stark. Aber wie willst Du es in den Quellen finden? Es wird ja gerade nicht zwichen Terminal un Dateiausgabe/Pipelining unterschieden. Man müsste ja den ganzen Code absuchen. Das ist wohl ein bisschen viel.
Nein, ich glaube nicht, daß man das muß. Ich habe wenig Programmiererfahrung mit C, aber ich habe z.B. in openssl mal ein paar Eingriffe in die Linediscipline rauspatchen müssen, daß ging relativ flott. Normalerweise sind ja die Source ganz gut sortiert, dann geht das. Kannst ja auch mal nach diversen tty-functions greppen, dann soltest Du zumindestens die Nähe finden (das wird ja vermutlich nur an einer Stelle gemacht), oder ganz brutal einfach mal nach "80" greppen - vielleicht gibt's da ein #define, nach dessen Vorkommen Du suchen kannst, was Dich dann zu der Stelle führt, alles machbar, einfach mal probieren... oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Steffen Dettmer schrieb am 09.Jan.2000:
* Bernd Brodesser wrote on Sat, Jan 08, 2000 at 09:54 +0100:
Soetwas vermute ich auch sehr stark. Aber wie willst Du es in den Quellen finden? Es wird ja gerade nicht zwichen Terminal un Dateiausgabe/Pipelining unterschieden. Man müsste ja den ganzen Code absuchen. Das ist wohl ein bisschen viel.
Nein, ich glaube nicht, daß man das muß. Ich habe wenig Programmiererfahrung mit C, aber ich habe z.B. in openssl mal ein paar Eingriffe in die Linediscipline rauspatchen müssen, daß ging relativ flott. Normalerweise sind ja die Source ganz gut sortiert, dann geht das. Kannst ja auch mal nach diversen tty-functions greppen, dann soltest Du zumindestens die Nähe finden (das wird ja vermutlich nur an einer Stelle gemacht), oder ganz brutal einfach mal nach "80" greppen - vielleicht gibt's da ein #define, nach dessen Vorkommen Du suchen kannst, was Dich dann zu der Stelle führt, alles machbar, einfach mal probieren...
Du suchst ja etwas, was nicht vorhanden sein soll. Nach etwas vorhandenem zu suchen ist leicht. Aber um sicher zu stellen, daß etwas nicht vorhanden ist, genügt es nicht nur dort zu suchen, wo es am ehesten sein könnte. Die 80 scheint ja auch nicht fest eingestellt zu sein, denn man kann sie ja im laufenden Betrieb, das heißt ohne neukompelierung, ändern. Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 06-Jan-00 Dirk Pirschel wrote:
Ich habe mich inzwischen damit abgefunden das man nichts dagegen tun kann.
Schon erstaunlich, dass es mal ein Problem gibt, zu dem noch niemand in
der Liste eine Loesung gefunden hat.
Aber es troestet mich, dass es offenkundig nicht einfach daran liegt,
dass ich zu bloed dazu bin.
Gruss,
Heinz.
--
E-Mail: Heinz W. Pahlke
participants (10)
-
a.michelic.suse@aon.at
-
B.Brodesser@online-club.de
-
daniel.buergin@bazl.admin.ch
-
dirk@pirschel.de
-
h.pahlke@berlin.de
-
hd@elfie.rhein-neckar.de
-
Juergen_Schwarting@gmx.de
-
steffen@dett.de
-
uwe.baxmann@wupperonline.de
-
weissel@ph-cip.uni-koeln.de