Скрипт: вставка данных в начало потока (дополнительные команды перед lpr)

Итак, упомянутый ранее скрипт. Используется как обычная команда lpr. Отличается тем, что предварительно посылает на принтер команды выбора лотка в зависимости от пользователя, отправившего задание на печать. Затем отправляется само задание и некие заключительные команды, если нужно. Четыре лотка распределены между пользователями username1...username8. Задания всех остальных пользователей отправляются в лоток по умолчанию.

Команды специфичны для разных аппаратов. Я не могу публиковать команды Konica Minolta, следуя соглашению о неразглашении, поэтому ниже они заменены поясняющим русским текстом.

#!/bin/bash

case $USER in
 username1 | username2 )
  SELECT_BIN="Команда выбора 1-го лотка"
  ;;
 username3 | username4 )
  SELECT_BIN="Команда выбора 2-го лотка"
  ;;
 username5 | username6 )
  SELECT_BIN="Команда выбора 3-го лотка"
  ;;
 username7 | username8 )
  SELECT_BIN="Команда выбора 4-го лотка"
  ;;
 * )
  SELECT_BIN="Команда выбора лотка по умолчанию"
  ;;
esac

(echo «Предварительные команды, например, начало PJL»; \
 echo «Еще <span style="white-space:nowrap">какие-нибудь</span> предварительные команды»; \
 echo $SELECT_BIN; \
 echo «Если нужно — еще команды, например, переключение на обычный PCL»; \
 tee; \
 echo «Заключительные команды») | lpr $1

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *