Uma das formas de obter a mensagem
lpr: No file in print request.
é quando o primeiro arquivo por padrão é um arquivo vazio.
Por exemplo:
$ touch f0
$ echo A > f1
$ lpr f*
lpr: No file in print request.
Para você for
alternativa - você não precisa de ls
; na verdade, é propenso a mal
erros, por ex. se nomes de arquivos contiverem espaços.
Como alternativa, você pode tentar:
shopt -s nullglob # So that if there are no matches you won't try to send
# pattern to printer.
for x in ./*/dir/file.pdf; do
lpr -P PRINTERNAME "$x";
done
shopt -u nullglob # Restore
E lembre-se de citar. Sempre cite.
Observe também:
Usando lpr PATTERN
, todos os arquivos são enfileirados em um trabalho nomeado como primeiro
arquivo na lista.
Isto é:
# List files:
ls file*
file1 file2 file3
# Add to print job
lpr file*
Agora file1 file2 e file3 devem estar na fila de impressão - mas não como três jobs, mas um. O nome do trabalho é fornecido a partir do primeiro arquivo, se não for definido pela opção:
lpq
Rank Owner Job File(s) Total Size
1st user 80 file1 9248 bytes
|
+----- Actually is file1, file2, file3
Se você tem lp
, isso é relatado mais detalhadamente por:
lp file*
request id is PRINTER-362 (3 file(s))
Se você quiser, também pode definir um nome para o trabalho, por exemplo:
lpr -T "My 3 Files" file*
lpq
Rank Owner Job File(s) Total Size
1st user 80 My 3 Files 9248 bytes