Hi, 30.07.2008 21:21, Ekkard Gerlach wrote:
Ich will von einer Suse 10.2 auf die anderen Daten per netcat schickcn:
PC_Sender: im xterm (root): #cat mytext.txt | netcat 192.168.0.37 3120
PC_Emfaenger: im xterm (root): while true; do netcat -l -p 3120 >/tmp/t; done
Schon klar... Lies' mal die Schleife etwas "expandiert"... Starte netcat mit Ausgabe nach /tmp/t wobei die Ausgabedatei *ersetzt* wird. Wenn netcat beendet ist - sprich, wenn die Datei angekommen ist - fange von vorne an. Alles klar?
Es kommt beim Empfänger aber nichts an! Es wird lediglich eine leere Datei /tmp/t erzeugt. Die Datei bekommt auch einen aktuellen Zeitstempel, wird also tatsächlich immer wieder neu erzeugt.
Lasse ich die while-Schleife weg, gebe als nur ein:
PC_Emfaenger: im xterm (root): netcat -l -p 3120 >/tmp/t
Dann bekommt die Datei /tmp/t korrekt den Inhalt von mytext.txt!!! Also verhindert die while-Schleife die Datenübertragung.
Nein.
Weiss jmd warum?
Ja.
Übrigens: bei Suse 8.2 gings noch mit der while-Schleife.
Wundert mich...
Warum das ganze? - Es soll die Datei mytext.txt direkt auf /dev/usb/lp0 ausgegeben werden. CUPS verlangt die Programmierung eines eigenen backend spezielle für non-postscript-Dateien, das ist hohe Mathematik für mich. UriDevice /dev/usb/lp0 geht übrigens unter Suse 10.2 nicht ... siehe andere threads. Daher: mit netcat die Datei rüber und per cat auf /dev/usb/lp0 ausgeben, das geht grundsätzlich, nur eben mit while nicht :-(
Das würde ich anders lösen: TFILE=`mktemp printsomethingXXXXX` while true; do netcat -l -p 3120 > ${TFILE} UFILE=`mktmp printsomethingXXX` mv ${TFILE} ${UFILE} cat ${UFILE} >> /dev/usb/lp0 && rm ${UFILE} & done Quoting, Locking und Fehlerbehandlung und beheben meiner Fehler darfst du selber machen :-) (Aber beim Quoting hilft David sicher gern ;-) Arno
Gruss Ekkard
-- Arno Lehmann IT-Service Lehmann Sandstr. 6, 49080 Osnabrück www.its-lehmann.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org