1#!/bin/sh 2# 3# 4# Copyright (c) 1995 Joerg Wunsch 5# 6# All rights reserved. 7# 8# This program is free software. 9# 10# Redistribution and use in source and binary forms, with or without 11# modification, are permitted provided that the following conditions 12# are met: 13# 1. Redistributions of source code must retain the above copyright 14# notice, this list of conditions and the following disclaimer. 15# 2. Redistributions in binary form must reproduce the above copyright 16# notice, this list of conditions and the following disclaimer in the 17# documentation and/or other materials provided with the distribution. 18# 3. All advertising materials mentioning features or use of this software 19# must display the following acknowledgement: 20# This product includes software developed by Joerg Wunsch 21# 4. The name of the developer may not be used to endorse or promote 22# products derived from this software without specific prior written 23# permission. 24# 25# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR 26# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 27# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 28# IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, 29# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 30# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 32# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35# 36# 37# Posix 1003.2 compliant print spooler interface. 38# 39# $Id: lp.sh,v 1.1 1995/01/23 19:22:43 joerg Exp $ 40# 41# 42# XXX Bugs: 43# . Our lpr command is not smart enough about dashes as input file names, 44# they should indicate the use of standard input. 45# . Our lpr command should allow the Posix-compliant way of specifying 46# options that take an argument; it currently requires the argument 47# to follow the option immediately. 48 49ncopies="" 50symlink="-s" 51 52# Posix says LPDEST gets precedence over PRINTER 53dest=${LPDEST:-${PRINTER:-lp}} 54 55# 56# XXX We include the -o flag as a dummy. Posix 1003.2 does not require 57# it, but the rationale mentions it as a possible future extension. 58# 59while getopts "cd:n:o:" option 60do 61 case $option in 62 63 c) # copy files before printing 64 symlink="";; 65 d) # destination 66 dest="${OPTARG}";; 67 n) # number of copies 68 ncopies="-#${OPTARG}";; 69 o) # (printer option) 70 : ;; 71 *) # (error msg printed by getopts) 72 exit 2;; 73 esac 74done 75 76shift $(($OPTIND - 1)) 77 78exec /usr/bin/lpr "-P${dest}" ${symlink} ${ncopies} "$@" 79