A lpr
página do manual diz que uma impressora de destino pode ser especificada com o -P
sinalizador.
-P destination[/instance] Prints files to the named printer.
Eu 'adicionei' várias impressoras em compartilhamentos locais do Samba usando a GUI no Ubuntu / Gnome. Como posso obter uma lista dessas impressoras disponíveis no formato que o -P
sinalizador espera (de preferência de um shell bash)?
lpq
funciona também.lpoptions -d printername
Para obter uma lista, você pode usar:
ou
Para imprimir apenas os nomes da impressora:
lpstat + read + array:
lpstat + awk:
lpstat + cut:
gato + grep + corte em
/etc/printcap
:Isto é o que é mostrado, um por linha:
Sinto que as
lpstat
soluções são mais elegantes e confiáveis. Principalmente porque/etc/printcap
não foi encontrado em alguns sistemas que testei.O uso de
awk
oucut
depende do que você instalou e prefere. A opção bash read + bash array deve funcionar em qualquer shell bash sem a necessidade de externos.Edição: Eu disse que a solução marcada não funciona para mim no Amazon Linux. Mas acho que funciona se você quiser apenas copiar os nomes das impressoras do meio do restante da saída. Funciona da mesma forma que usar apenas
lpstat -a
.fonte
lpstat -p -d
parece funcionar ...How can I get a list of these available printers in the format that the (lpr) -P flag expects
. Meu exemplolpstat -p -d
mostra claramente que você recebe mais do que apenas o nome da impressora. Nesse caso, você não pode usar essa saída para umalpr -P $PRINTERNAME
chamada. Então não!lpstat -p -d
não funciona no exemplo que dei.