$ lpstat -p -d
Aus dem CUPS-Handbuch.
Um eine Liste zu erhalten, können Sie verwenden:
lpstat -a
oder
cat /etc/printcap
So drucken Sie nur die Druckernamen:
lpstat + read + Array:
$ while read l; do l=($l); echo "${l[0]}"; done <<< "$(lpstat -a)"
lpstat + awk:
$ lpstat -a | awk '{print $1}'
lpstat + Schnitt:
$ lpstat -a | cut -f1 -d ' '
cat + grep + cut in /etc/printcap
:
$ cat /etc/printcap | cut -f1 -d'|' | grep '^#' -v
Das wird angezeigt, eines pro Zeile:
HP_LaserJet_P1606dn
HP_Deskjet_2540_series
HP_LaserJet_M1212nf
GCP-Save_to_Google_Docs
Ich fühle mich wie die lpstat
Lösungen sind eleganter und zuverlässiger. Hauptsächlich wegen /etc/printcap
wurde auf einigen von mir getesteten Systemen nicht gefunden.
Über die Verwendung von awk
oder cut
, 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 benötigt werden.
BEARBEITEN : Ich sagte, die markierte Lösung funktioniert bei mir unter Amazon Linux nicht. Aber ich denke, es funktioniert, wenn Sie nur die Druckernamen aus der Mitte der restlichen Ausgabe kopieren möchten. Funktioniert genauso wie die Verwendung von nur lpstat -a
.
$ lpstat -p -d
printer HP_Deskjet_2540_series is idle. enabled since Tue 22 Dec 2015 01:12:10 PM BRST
. . .
printer GCP-Save_to_Google_Docs is idle. enabled since Tue 15 Dec 2015 02:13:33 AM BRST
system default destination: HP_LaserJet_P1606dn