La lpr
página del manual dice que se puede especificar una impresora de destino con la -P
bandera.
-P destination[/instance] Prints files to the named printer.
He 'agregado' varias impresoras en recursos compartidos locales de Samba usando la GUI en Ubuntu / Gnome. ¿Cómo puedo obtener una lista de estas impresoras disponibles en el formato que la -P
bandera espera (preferiblemente de un shell bash)?
lpq
también funciona.lpoptions -d printername
Para obtener una lista, puede usar:
o
Para imprimir solo los nombres de impresora:
lpstat + lectura + matriz:
lpstat + awk:
lpstat + corte:
cat + grep + corte en
/etc/printcap
:Esto es lo que se muestra, uno por línea:
Siento que las
lpstat
soluciones son más elegantes y confiables. Principalmente porque/etc/printcap
no se encontró en algunos sistemas que probé.Acerca de usar
awk
ocut
, depende de lo que haya instalado y prefiera. La opción bash read + bash array debería funcionar en cualquier shell bash sin la necesidad de elementos externos.EDITAR: Dije que la solución marcada no funciona para mí en Amazon Linux. Pero supongo que funciona si solo quieres copiar los nombres de la impresora desde el medio del resto de la salida. Funciona igual que usar solo
lpstat -a
.fuente
lpstat -p -d
parece funcionar ...How can I get a list of these available printers in the format that the (lpr) -P flag expects
. Mi ejemplo delpstat -p -d
muestra claramente que obtienes más que solo el nombre de la impresora con eso. En cuyo caso no puede usar esa salida para unalpr -P $PRINTERNAME
llamada. Entonces no!lpstat -p -d
no funciona en el ejemplo que di.