#!/bin/sh # Usage: home-print status | home-print [--duplex] FILE.pdf|FILE.png|FILE.jpg set -eu printer=home-brother if [ "${1:-}" = status ]; then lpstat -p "$printer" lpstat -W not-completed -o "$printer" exit fi sides=one-sided if [ "${1:-}" = --duplex ]; then sides=two-sided-long-edge shift fi if [ "$#" -ne 1 ] || [ ! -f "$1" ]; then echo 'Укажите один существующий PDF/PNG/JPEG-файл' >&2 exit 2 fi case "$1" in *.pdf|*.PDF|*.png|*.PNG|*.jpg|*.JPG|*.jpeg|*.JPEG) ;; *) echo 'Поддерживаются PDF/PNG/JPEG; Word сначала преобразуйте в PDF' >&2; exit 2 ;; esac # Absolute path prevents a filename from becoming an lp option. file=$(realpath -- "$1") exec lp -d "$printer" -n 1 -o media=A4 -o fit-to-page -o sides="$sides" "$file"