Mr. David Kerr is hereby awarded 'The La Jolla Conch for Clever Shell Script Debugging'
He can collect his prize at the Karl Strauss Brewery in La Jolla,
as well as a Free Lunch.
Patrick ("Bring a wet suit, a surf board, and life insurance") Powell
> From [EMAIL PROTECTED] Thu Jul 6 13:50:20 2000
> Date: Thu, 06 Jul 2000 15:08:38 -0400
> From: David Livingstone <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED], David Kerr Livingstone <[EMAIL PROTECTED]>
> Subject: Re: [Fwd: LPRng: pclbanner problems from LPRng-3.6.14-1]
>
>
> I'm using the default sh for redhat which is bash-1.14.7-22 ie /bin/sh is a link
> to /bin/bash.
>
> Yes "sh pclbanner > /tmp/out" works - however no options are given.
> I dug into this today and have found the following :
>
> - psbanner and pclbanner both have the same error at line 50 and 22
> respectively :
>
> vAlue=`expr "$1" : '-.\(.*\)`;
Yup. Right you are.
>
> is missing a ' and should read :
>
> vAlue=`expr "$1" : '-.\(.*\)'`;
>
> without the ' bash: unexpected EOF while looking for `'' is
> returned.
>
> - all of the "test" expressions in pclbanner are missing spaces around
> the oerators - the single test expression in psbanner is okay.
Strange, the BSD test did not whinge on this, but the RedHat Linux
did.
>
> - for example line 27 of pclbanner is given as :
>
> if test "X$vAlue"="X" ; then shift; vAlue=$1; fi;
>
> This "always" evaluates to true because = is not interpreted as a
> an operator. This should read :
>
> if test "X$vAlue" = "X" ; then shift; vAlue=$1; fi;
>
> - There are six instances in pclbanner like this.
>
> - With the above changes pclbanner no correctly outputs the Title, Printer,
> Host, User, Class, Jobid, Date, Queue, Printed at etc.
>
> However even with the above corrections pclbanner registers the following error
> in the status.deslz file while interpreting the PRINTCAP_ENTRY :
>
> BANNER: /usr/libexec/filters/pclbanner: mx#0=1: command not found at
>2000-07-06-11:31:34.713 ## identifier=root@sccode+159 number=159 process=30162
>
> As recorded
> in /tmp/before(debug file from pclbanner) the PRINTCAP_ENTRY is :
> PRINTCAP_ENTRY=deslz
> :bp=/usr/libexec/filters/pclbanner
> :if=/usr/libexec/filters/ifhp
> :ifhp=model=hp8000,status@
> :lp=deslz%9100
> :mx#0
> :sd=/usr/spool/lpd/deslz
>
> I followed the logic and yes :
>
> vAr=`expr "$iI" : " *\:\([^=][^=]*\)=.*"`;
> vAlue=`expr "$iI" : " *\:[^=][^=]*=\(.*\)"`;
> if test "X$vAr" = "X" ; then
> vAr=`expr "$iI" : " *:\(.*\)@"`;
> vAlue=0;
> fi
> if test "X$vAr" = "X" ; then
> vAr=`expr "$iI" : " *:\(.*\)"`;
> vAlue=1;
> fi
> if test "X$vAr" != "X" ; then
> eval $vAr='$vAlue';
> #setvar $vAr "$vAlue"
> fi
> will give this result - I presume you should account for the "#" character
> when parsing the line ?
>
> A couple of questions :
> - how did this ever work in your setup ?
used BSD /bin/sh (Bourne shell) and BSD test
> - what shell are you using ?
/bin/sh
> - did you see the last question I had in my past posting on the use
> of status@ ?
No... what was it?
>
> Thanks as always.
>
> [EMAIL PROTECTED] wrote:
> >
> > > From [EMAIL PROTECTED] Fri Jun 30 14:37:42 2000
> > > Date: Fri, 30 Jun 2000 16:01:01 -0400
> > > From: David Livingstone <[EMAIL PROTECTED]>
> > > To: [EMAIL PROTECTED]
> > > Subject: Re: [Fwd: LPRng: pclbanner problems from LPRng-3.6.14-1]
> > >
> > >
> > > Further to my own post :
> > >
> > > - the psbanner(sh version) in 3.6.19 exhibits the same problem. The perl
> > > version from 3.6.13 works correctly. I can send whatever debug output
> > > is needed.
> > > - the symbolic link problem does not occur when installing 3.6.18 and
> > > upgrading(freshen) to 3.6.19.
> > >
> >
> > I just had a horrible thought. What shell are you using?
> > Look and see what the pclbanner has for the #!/bin/sh value
> > at the start. You may need to specify the shell you want to use.
> >
> > If this is not the problem, please do:
> >
> > sh psbanner >/tmp/out
> >
> > (note that there are no options).
> >
> > does this work? Does the /tmp/out get a file?
> >
Patrick Powell Astart Technologies,
[EMAIL PROTECTED] 9475 Chesapeake Drive, Suite D,
Network and System San Diego, CA 92123
Consulting 858-874-6543 FAX 858-279-8424
LPRng - Print Spooler (http://www.astart.com)
-----------------------------------------------------------------------------
If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body. For the impatient,
to subscribe to a list with name LIST, send mail to [EMAIL PROTECTED]
with: | example:
subscribe LIST <mailaddr> | subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr> | unsubscribe lprng [EMAIL PROTECTED]
If you have major problems, send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------