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# $FreeBSD: releng/11.0/usr.sbin/lpr/lp/lp.sh 197625 2009-09-29 21:28:32Z jilles $ 40# 41 42ncopies="" 43symlink="-s" 44mailafter="" 45title="" 46 47# Posix says LPDEST gets precedence over PRINTER 48dest=${LPDEST:-${PRINTER:-lp}} 49 50# 51# XXX We include the -o flag as a dummy. Posix 1003.2 does not require 52# it, but the rationale mentions it as a possible future extension. 53# XXX We include the -s flag as a dummy. SUSv2 requires it, 54# although we do not yet emit the affected messages. 55# 56while getopts "cd:mn:o:st:" option 57do 58 case $option in 59 60 c) # copy files before printing 61 symlink="";; 62 d) # destination 63 dest="${OPTARG}";; 64 m) # mail after job 65 mailafter="-m";; 66 n) # number of copies 67 ncopies="-#${OPTARG}";; 68 o) # (printer option) 69 : ;; 70 s) # (silent option) 71 : ;; 72 t) # title for banner page 73 title="${OPTARG}";; 74 *) # (error msg printed by getopts) 75 exit 2;; 76 esac 77done 78 79shift $(($OPTIND - 1)) 80 81exec /usr/bin/lpr "-P${dest}" ${symlink} ${ncopies} ${mailafter} ${title:+-J"${title}"} "$@" 82