Hallo Liste, wenn ich ein pdf-Dokument ausdrucken möchte (Aufruf Acrobat-Reader innerhalb des Netscape-Browsers), dann gebe ich beispielsweise den Druckbefehl lpr -Plp27 im Acrobat Reader und das Dokument wird mir ausgedruckt. Wenn ich mir jetzt aber eine Datei /usr/bin/d27 erzeuge, in der nichts anderes steht als lpr -Plp27 und ich dann im Acrobat Reader das Druckkommando d27 eingebe, erhalte ich die Fehlermeldung lpr: stdin: empty input file . Warum? mfG Bernward Otto Weickmann & Weickmann
Hallo, Am Montag, 30. Juli 2001 09:25 schrieb Weickmann & Weickmann - Bernward Otto:
wenn ich ein pdf-Dokument ausdrucken möchte (Aufruf Acrobat-Reader innerhalb des Netscape-Browsers), dann gebe ich beispielsweise den Druckbefehl
lpr -Plp27
im Acrobat Reader und das Dokument wird mir ausgedruckt.
Wenn ich mir jetzt aber eine Datei /usr/bin/d27 erzeuge, in der nichts anderes steht als
lpr -Plp27
Ändere das mal ab in --- schnipp --- #!/bin/bash lpr -Plp27 $1 --- schapp ---
und ich dann im Acrobat Reader das Druckkommando
d27
eingebe, erhalte ich die Fehlermeldung
lpr: stdin: empty input file
. Warum?
Weil dein Skript keine Argumente an lpr übergibt. Schöne Grüße aus Bremen hartmut -- hartmut meyer email: hartmut.meyer@web.de donaustr. 46/48 fax: 0421-2775231 28199 bremen telefon: 0421-2775230
Hallo Hartmut, vielen Dank, das hat geholfen. Mich wundert es nur, daß ich '$1' für das gleiche Druckkommando direkt unter Netscape nicht benötigt habe, sondern hier die Angabe d27 vollkommen ausreicht, ohne ein '#!/bin/bash' oder '$1' in dieser Datei. Jetzt benutze ich mehrere HP LaserJet 5 ohne PostScript-Modul, d.h. ich verwende ghostscript für Ausdrucke aus dem AcrobatReader mit einer Datei /usr/bin/d35: --------------- schnipp ------------- #!/bin/bash gs -dNOPAUSE -q -sDEVICE=ljet4 -sOutputFile=\|"lpr -P35" -dBATCH $1 --------------- schnapp ------------- Die Eingabe von 'd35' als lpr-Befehl liefert mir jetzt dank Deiner Hilfe '$1' die entsprechenden Ausdrucke. Allerdings funktioniert der gleiche lpr-Befehl direkt aus dem Netscape-Navigator nicht. Es wird kein Ausdruck erzeugt. Woran liegt's? mfG Bernward Otto Weickmann & Weickmann Hartmut Meyer schrieb:
Hallo,
Am Montag, 30. Juli 2001 09:25 schrieb Weickmann & Weickmann - Bernward Otto:
wenn ich ein pdf-Dokument ausdrucken möchte (Aufruf Acrobat-Reader innerhalb des Netscape-Browsers), dann gebe ich beispielsweise den Druckbefehl
lpr -Plp27
im Acrobat Reader und das Dokument wird mir ausgedruckt.
Wenn ich mir jetzt aber eine Datei /usr/bin/d27 erzeuge, in der nichts anderes steht als
lpr -Plp27
Ändere das mal ab in
--- schnipp --- #!/bin/bash
lpr -Plp27 $1 --- schapp ---
und ich dann im Acrobat Reader das Druckkommando
d27
eingebe, erhalte ich die Fehlermeldung
lpr: stdin: empty input file
. Warum?
Weil dein Skript keine Argumente an lpr übergibt.
Schöne Grüße aus Bremen hartmut -- hartmut meyer email: hartmut.meyer@web.de donaustr. 46/48 fax: 0421-2775231 28199 bremen telefon: 0421-2775230
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hallo, Am Dienstag, 31. Juli 2001 14:19 schrieb Weickmann & Weickmann - Bernward Otto:
vielen Dank, das hat geholfen. Mich wundert es nur, daß ich '$1' für das gleiche Druckkommando direkt unter Netscape nicht benötigt habe, sondern hier die Angabe d27 vollkommen ausreicht,
Ich vermute du meinst "lpr -Pd27" hat unter Netscape gereicht.
ohne ein '#!/bin/bash' oder '$1' in dieser Datei.
Klar. Weil du es direkt als Kommando übergibst - da wird das Argument, welches von Netscape an diesen Befehl übergeben wird direkt von lpr ausgewertet. Wenn du aber ein kleines Skript schreibst (deine Datei "d27"), dann wird Netscape das Argument (die zu druckende Datei) eben an das Skript d27 weiterreichen. Soweit so gut. Wenn du dich aber nicht darum kümmerst, dass das Skript mit dem Argumet irgendetwas tut, dann wird es eben ignoriert. Zumindest wird es nie an lpr weitergereicht.
Jetzt benutze ich mehrere HP LaserJet 5 ohne PostScript-Modul, d.h. ich verwende ghostscript für Ausdrucke aus dem AcrobatReader mit einer Datei /usr/bin/d35:
--------------- schnipp ------------- #!/bin/bash gs -dNOPAUSE -q -sDEVICE=ljet4 -sOutputFile=\|"lpr -P35" -dBATCH $1 --------------- schnapp -------------
Die Eingabe von 'd35' als lpr-Befehl liefert mir jetzt dank Deiner Hilfe '$1' die entsprechenden Ausdrucke.
Allerdings funktioniert der gleiche lpr-Befehl direkt aus dem Netscape-Navigator nicht.
Ich bin mir nicht sicher was du meinst. Hast du jetzt d35 oder gs -dNOPAUSE -q -sDEVICE=ljet4 -sOutputFile=\|"lpr -P35" -dBATCH $1 an Netscape übergeben? Schöne Grüße aus Bremen hartmut
Hallo Hartmut, jetzt habe ich wohl für Unklarheiten gesorgt. Ziel ist es, zu vermeiden, daß ein Anwender erst lange Druckkommandos an den entsprechenden Stellen der Programme eingeben muß. Hierfür stelle ich Scriptdateien zur Verfügung, sodaß ein Anwender zum Ausdruck einer Internetdatei z.B. nur 'd27' eingeben muß. In meinem Beispiel wird tatsächlich für Ausdrucke aus dem Netscape 4.7 Navigator nur das Druckkommando 'd27' benötigt. Die Datei '/usr/bin/d27' beinhaltet einfach nur die Kommandozeile lpr -Plp27 , wobei 'lp27' in der 'printcap' entsprechend definiert ist. Für Ausdrucke aus dem Acrobat-Reader reicht das Druckkommando 'd27' nicht aus, hier muß die Datei '/usr/bin/d27' tatsächlich um '$1' erweitert werden, damit ich zu meinem Ausdruck komme. Dieses Beispiel ist für einen Postscript-Drucker. Für einen Nicht-Postscript-Drucker muß die Ausgabe erst (z.B. mit Ghostscript) umformatiert werden. Dies habe ich in der Datei '/usr/bin/d35' --------------- schnipp ------------- #!/bin/bash gs -dNOPAUSE -q -sDEVICE=ljet4 -sOutputFile=\|"lpr -P35" -dBATCH $1 --------------- schnapp ------------- entsprechend berücksichtigt. Hierbei ist '35' in der 'printcap' definiert. Die Eingabe von 'd35' als Druckkommando aus dem Acrobat-Reader liefert mir dann entsprechende Ausdrucke für einen Nicht-Postscript-Drucker. Allerdings funktioniert das gleiche Druckkommando d35 aus dem Netscape 4.7 Navigator nicht, auch wenn ich das '$1' weglasse. Es wird kein Ausdruck erzeugt. Woran liegt's? mfG Bernward Otto Weickmann & Weickmann Hartmut Meyer schrieb:
Hallo,
Am Dienstag, 31. Juli 2001 14:19 schrieb Weickmann & Weickmann - Bernward Otto:
vielen Dank, das hat geholfen. Mich wundert es nur, daß ich '$1' für das gleiche Druckkommando direkt unter Netscape nicht benötigt habe, sondern hier die Angabe d27 vollkommen ausreicht,
Ich vermute du meinst "lpr -Pd27" hat unter Netscape gereicht.
ohne ein '#!/bin/bash' oder '$1' in dieser Datei.
Klar. Weil du es direkt als Kommando übergibst - da wird das Argument, welches von Netscape an diesen Befehl übergeben wird direkt von lpr ausgewertet.
Wenn du aber ein kleines Skript schreibst (deine Datei "d27"), dann wird Netscape das Argument (die zu druckende Datei) eben an das Skript d27 weiterreichen. Soweit so gut. Wenn du dich aber nicht darum kümmerst, dass das Skript mit dem Argumet irgendetwas tut, dann wird es eben ignoriert. Zumindest wird es nie an lpr weitergereicht.
Jetzt benutze ich mehrere HP LaserJet 5 ohne PostScript-Modul, d.h. ich verwende ghostscript für Ausdrucke aus dem AcrobatReader mit einer Datei /usr/bin/d35:
--------------- schnipp ------------- #!/bin/bash gs -dNOPAUSE -q -sDEVICE=ljet4 -sOutputFile=\|"lpr -P35" -dBATCH $1 --------------- schnapp -------------
Die Eingabe von 'd35' als lpr-Befehl liefert mir jetzt dank Deiner Hilfe '$1' die entsprechenden Ausdrucke.
Allerdings funktioniert der gleiche lpr-Befehl direkt aus dem Netscape-Navigator nicht.
Ich bin mir nicht sicher was du meinst. Hast du jetzt
d35
oder
gs -dNOPAUSE -q -sDEVICE=ljet4 -sOutputFile=\|"lpr -P35" -dBATCH $1
an Netscape übergeben?
Schöne Grüße aus Bremen hartmut
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
On Mon, 30 Jul 2001, Weickmann & Weickmann - Bernward Otto wrote:
Hallo Liste,
wenn ich ein pdf-Dokument ausdrucken möchte (Aufruf Acrobat-Reader innerhalb des Netscape-Browsers), dann gebe ich beispielsweise den Druckbefehl
lpr -Plp27
im Acrobat Reader und das Dokument wird mir ausgedruckt.
Wenn ich mir jetzt aber eine Datei /usr/bin/d27 erzeuge, in der nichts anderes steht als
lpr -Plp27 Häng noch ein "%1" ran.
und ich dann im Acrobat Reader das Druckkommando
d27
eingebe, erhalte ich die Fehlermeldung
lpr: stdin: empty input file
. Warum? Weil der Acrobat Reader als Argument den Dateinamen angibt, der gedruckt werden soll.
gruß Lars
Hallo Lars, Lars Mucha schrieb:
On Mon, 30 Jul 2001, Weickmann & Weickmann - Bernward Otto wrote:
Hallo Liste,
wenn ich ein pdf-Dokument ausdrucken möchte [...] lpr -Plp27 Häng noch ein "%1" ran.
Nein! Das ist DOS! Bei Unix-Shells werden die Argumente mit Dollarzeichen + Ziffer angesprochen (siehe Mail von Hartmut Meyer)! So long, Norbert
participants (4)
-
Hartmut Meyer
-
Lars Mucha
-
Norbert Kordts
-
Weickmann & Weickmann - Bernward Otto