#!/bin/bash QUEUE="$1" COMMAND="$2" shift 2 lpq () { /usr/bin/lpq -P${1} } lprm() { if [ "all" = "$2" ] then /usr/bin/lprm -P${1} - else /usr/bin/lprm -P${1} "$@" fi } stop() { if [ -n "$2" ] then /usr/bin/cupsdisable "$1" -r "$2" else /usr/bin/cupsdisable "$1" fi } start () { /usr/bin/cupsenable "$1" } disable () { if [ -n "$2" ] then /usr/sbin/reject "$1" -r "$2" else /usr/sbin/reject "$1" fi } enable () { /usr/sbin/accept "$1" } down () { disable "$@" stop "$@" } up () { start "$@" enable "$@" } help () { echo echo "Usage: remctl cups.mit.edu lpc [arguments ...]" echo echo "cups.mit.edu's remctl lpc knows about the following commands:" echo echo "lpq - list the entries in a printer's queue" echo "lprm ([job1 ...]|all) - remove listed jobs from the printer's queue" echo "stop [\"reason\"] - stop printing jobs (still accepts new jobs)" echo "start - start printing jobs" echo "disable [\"reason\"] - stop accepting new jobs" echo "enable - start accepting new jobs" echo "down - stop and disable" echo "up - start and enable" echo "help - display this help menu" echo } if [ "help" = "$QUEUE" ] then help exit 0 fi case "$COMMAND" in lpq|lprm|stop|start|disable|enable|down|up) $COMMAND "$QUEUE" "$@" ;; *) help ;; esac