#! /bin/sh # # @(#)mailp 1.3 92/02/17 # # mailp, newsp, filep, digestp, filofaxp, timemanp and timesysp # shell script de lancement de mp # (mail/news/file/digest/filofax/time-manager/time-system pretty printer) # # Original: Bruno Pillard - October 1988. # Modified: Rich Burridge - June 1989. # Revisited: Larry W. Virden - August, September 1990. # Revisited: Bruno Pillard - September 1990. # Revisited: David W. Sanderson - August 1991. BIN=/usr/local # NOTE: Banner printing is disabled below, by the inclusion of the -h # switch to the lpr command. Most of the information that typically # appears on the banner sheet, is output in the mp banners. If you # wish to enable banner printing, then you should remove the -h switch. PROG=mp case $BIN in /*) PROG=$BIN/mp;; esac FLAGS= STDIN= LPARGS= case $0 in *mailp) ;; *newsp) FLAGS=-a ;; *digestp) FLAGS=-d ;; *filep) FLAGS=-o; STDIN=-sstdin ;; *filofaxp) FLAGS=-ff ;; *franklinp) FLAGS=-fp ;; *timemanp) FLAGS=-tm ;; *timesysp) FLAGS=-ts ;; *) echo Unknown pretty printer: $0 exit ;; esac # avoid using test - slow in v7 /bin/sh # while [ $# -gt 0 ] for DUMMY in ${1+"$@"} do case $1 in # flags to pass through to mp -F | -l) FLAGS="$FLAGS $1" shift ;; -s) FLAGS="$FLAGS -s\"$2\"" STDIN= shift;shift ;; -s*) FLAGS="$FLAGS \"$1\"" STDIN= shift ;; # allow both -d and -P to specify the printer name -d|-P) LPDEST="$2" PRINTER="$LPDEST" shift;shift ;; -d*|-P*)LPDEST=`echo "$1"|sed 's/^-.//'` PRINTER="$LPDEST" shift ;; -h) LPARGS=-h shift ;; # explicit end of arguments --) shift; break ;; -*) echo bad flag: $1 shift ;; # stop processing arguments with the first nondash argument *) break ;; esac done # If LPDEST or PRINTER is already set in the environment, and no -d or -P # argument was given, then the appropriate variable will still affect the # appropriate printing command. if [ -d /usr/spool/lp ] then PRINT_CMD="lp ${LPDEST+-d${LPDEST}} -t" else PRINT_CMD="lpr ${PRINTER+-P${PRINTER}} -J" fi # for v in '*' '#' PROG STDIN FLAGS PRINT_CMD LPARGS # do eval echo "\"$v\"" = \"\'\$$v\'\" # done # exit 0 case $# in 0) eval $PROG $STDIN $FLAGS '|' ${PRINT_CMD}stdin $LPARGS ;; *) for FILE do eval $PROG $FLAGS $FILE '|' $PRINT_CMD$FILE $LPARGS done ;; esac exit 0