[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

PS: Printcap doesn't run filter script



On Mon, 26 Oct 1998, Kent West wrote:

> I've got an /etc/printcap (permissions = -rw-r--r--  root root) that looks
> like:
> 
>  beeper:\
>         :if=/home/westk/beeper-filter:\
>  	:lp=/dev/null:\
>  	:sd=/var/spool/lpd/beeper:
> 
> (permissions on /var/spool/lpd/beeper = -drwxrwxr-x  lp lp)
> 
> and a /home/westk/beeper-filter (permissions = -rwxr-xr-x  root root) that
> looks like:
> 
>  #!/usr/bin/perl
>  $recipient = "westk\@home";
>  $subject = "Beeper Message";
>  $mailprog = "mail";
> 
>  open (MAIL, "|$mailprog -s \'$subject\' $recipient");
>  
>  print MAIL "------------ Header Line\n\n";
>  
>  while (<STDIN>) {
>      print MAIL $_;
>  }
>  
>  print MAIL "\n------------ Footer Line\n";
>  close MAIL;
>  
>  
> 
> As root in any non-empty directory (such as /etc), I'm typing
> 	ls -l|lpr -Pbeeper
> Then four files appear in the spool directory and stay until I rm them, 
> and the mail message is apparently never generated (at least it never 
> shows up in my mailbox).
> 
> I've also tried putting a
> 	print "Text";
> just after the 
> 	#!/usr/bin/perl
> line, but I never see the test message printed. However, I just realized,
> could the test message be printing to /dev/null? If so, how do I redirect 
> the test message to my screen so that I can verify that the beeper-filter 
> is being run when I print something?
> 
> (Thanks to Jim Foltz for getting me this far, esp the basic script.)
> 

PS: I just learned that if I type at the /home/west/ command prompt:
	echo test | ./beeper-filter
the email message shows up. So the script works; it's just not being 
called when I print something. Any clues?


Reply to: