Listing 1: prq -- a printer queue manager

################################################## 
# 
#   This is a simple script to check the printer 
#   queue for each printer on the system and  
#   give the user the option to remove any print 
#   job that they may own. And provide the super-
#   user with quick interface to move print jobs 
#   on the queue. 
# 
#   Programmer: Robert Berry 
#   Date:       7/14/94 
# 
################################################## 
# 
#   Variable names: 
#   ans..........used to accept y/n response 
#   prntr........used to accept printer selection 
#   jobnum.......used to accept job to delete 
#   HOME.........used to see if user is super-user 
# 
################################################## 
echo "             ********** Laser 2 ***********" 
lpq -Plaser2 
echo " " 
echo "             ********** Laser 3 ***********" 
lpq -Plaser3 
echo " " 
echo "             ********** PaintJet **********" 
lpq -Ppaintjet 
echo " " 
echo "             ********** Plotter ***********" 
lpq -Php 
echo " " 
echo "===========================================" 
echo "===========================================" 
 
echo -n "Would you like to remove jobs? (y/n)" 
read ans 
########### First if statement ########### 
if [ $ans = "y" ] 
then 
   ########### While loop ############
   while [ $ans = "y" ] 
   do 
   echo " " 
   echo "           Remove jobs on..." 
   echo "           1)  Laser 2" 
   echo "           2)  Laser 3" 
   echo "           3)  PaintJet" 
   echo "           4)  Plotter" 
   echo "           -----------------------" 
   echo "           5)  List all jobs again" 
   echo "           6)  Rearrange print jobs" 
   echo "           7)  Exit" 
   echo -n "        Enter your choice: " 
 
   read prntr 
   clear 
   ############# Case statement ############
   case $prntr in 
   1) echo -n "Enter job number or '-' to remove all:" 
      read jobnum 
      lprm -Plaser2 $jobnum;; 
   2) echo -n "Enter job number or '-' to remove all:" 
      read jobnum 
      lprm -Plaser3 $jobnum;; 
   3) echo -n "Enter job number or '-' to remove all:" 
      read jobnum 
      lprm -Ppaintjet $jobnum;; 
   4) echo -n "Enter job number or '-' to remove all:" 
      read jobnum 
      lprm -Pdm $jobnum;; 
   5) echo "      ********** Laser 2 ***********" 
      lpq -Plaser2 
      echo " "  
      echo "      ********** Laser 3 ***********" 
      lpq -Plaser3 
      echo " "  
      echo "      ********** PaintJet **********" 
      lpq -Ppaintjet 
      echo " "  
      echo "      ********** Plotter ***********" 
      lpq -Php  
      echo " "  
      echo "====================================" 
      echo "====================================";; 
   ############ Second menu level ############   
   6) if [ $HOME = "/" ] 
      then 
      ans=n 
      ############# While loop ############
      while [ $ans = "n" ] 
      do 
	echo " " 
	echo "          Move jobs on..." 
	echo "          1)  Laser 2" 
	echo "          2)  Laser 3" 
	echo "          3)  PaintJet" 
	echo "          4)  Plotter" 
	echo "          -----------------------" 
	echo "          5)  List all jobs again" 
	echo "          6)  Back one menu" 
	echo "          7)  Exit" 
	echo -n "       Enter your choice: " 
	read prntr 
	clear 
	####### Second set of case options #######
	case $prntr in 
	1) echo -n "Enter job(s) or user name(s): " 
	   read jobnum 
	   lpc topq laser2 $jobnum;; 
	2) echo -n "Enter job(s) or user name(s): " 
	   read jobnum 
	   lpc topq laser3 $jobnum;; 
	3) echo -n "Enter job(s) or user name(s): " 
	   read jobnum 
	   lpc topq paintjet $jobnum;; 
	4) echo -n "Enter job(s) or user name(s): " 
	   read jobnum 
	   lpc topq hp $jobnum;; 
	5) echo "   ********** Laser 2 ***********" 
	   lpq -Plaser2 
	   echo " "  
	   echo "   ********** Laser 3 ***********" 
	   lpq -Plaser3 
	   echo " "  
	   echo "   ********** PaintJet **********" 
	   lpq -Ppaintjet 
	   echo " "  
	   echo "   ********** Plotter ***********" 
	   lpq -Php  
	   echo " "  
	   echo "=================================" 
	   echo "=================================";; 
	6) ans=y;; 
	7) clear  
	   exit;; 
	x) clear 
	   exit 
	esac 
	done 
      ######### If user isn't super-user #########
      else 
	echo " " 
	echo "You must be Super User for this option" 
      fi;; 
   7) clear 
      exit;; 
   x) clear 
      exit 
   esac 
   done 
else 
   exit 
fi
##################### THE END ########################

