Die lpr
Manpage besagt, dass ein Zieldrucker mit dem -P
Flag angegeben werden kann.
-P destination[/instance] Prints files to the named printer.
Ich habe verschiedene Drucker auf lokalen Samba-Freigaben über die GUI in Ubuntu / Gnome hinzugefügt. Wie kann ich eine Liste dieser verfügbaren Drucker in dem Format erhalten, das das -P
Flag erwartet (vorzugsweise von einer Bash-Shell)?
lpq
funktioniert.lpoptions -d printername
Um eine Liste zu erhalten, können Sie Folgendes verwenden:
oder
So drucken Sie nur die Druckernamen:
lpstat + read + array:
lpstat + awk:
lpstat + cut:
cat + grep + cut in
/etc/printcap
:Dies ist, was gezeigt wird, eine pro Zeile:
Ich bin der Meinung, dass die
lpstat
Lösungen eleganter und zuverlässiger sind. Meistens wurde da/etc/printcap
auf einigen Systemen nichts gefunden was ich getestet habe.Die Verwendung von
awk
odercut
hängt davon ab, was Sie installiert haben und bevorzugen. Die Option bash read + bash array sollte auf jeder bash-Shell funktionieren, ohne dass externe Elemente erforderlich sind.BEARBEITEN: Ich sagte, dass die markierte Lösung für mich unter Amazon Linux nicht funktioniert. Aber ich denke, es funktioniert, wenn Sie nur die Druckernamen aus der Mitte des Restes der Ausgabe kopieren möchten. Funktioniert genauso wie mit just
lpstat -a
.quelle
lpstat -p -d
How can I get a list of these available printers in the format that the (lpr) -P flag expects
. Mein Beispiel vonlpstat -p -d
zeigt deutlich, dass man damit mehr als nur den Druckernamen bekommt. In diesem Fall können Sie diesen Ausgang nicht für einenlpr -P $PRINTERNAME
Anruf verwenden. Also nein!lpstat -p -d
funktioniert nicht in dem Beispiel, das ich gegeben habe.