[plug] problem with script

Jon Miller jlmiller at mmtnetworks.com.au
Tue Aug 26 17:19:59 WST 2003


Thanks Kirk, as this was the problem and all is well.

Jon

Jon L. Miller, MCNE, CNS
Director/Sr Systems Consultant
MMT Networks Pty Ltd
http://www.mmtnetworks.com.au

"I don't know the key to success, but the key to failure
 is trying to please everybody." -Bill Cosby



>>> kirk.turner at wagoonline.com 9:37:54 AM 26/08/2003 >>>
Looking at the script, unless there was a typo putting it in, the reason
your getting that error is because the } is missing from the end of the
fmlstat function.

Kirk

On Mon, 2003-08-25 at 19:26, Jon Miller wrote:
> Correct me if I'm wrong, but using the following does generate a value of the variable by using ` `.  What I was getting was 8-10 PID listings.  Because I only require 1 listing I then added the following to the script:
> function fmlstat()
> {
> vMMSTAT="echo $MMSTAT | awk '{print $1}"
> echo $vMMSTAT
> }
> I run this function before the "if" statement
> 
> I'm now getting:
> # ./postfixstatchk.sh
> ./postfixstatchk.sh: line 54: syntax error: unexpected end of file
> 
> 
> Line 54 is the last line of the script and it ends with a "fi" which is part of a "if" statement.
> 
> JLM
> 
> Latest changes to script:
> MTAPATH=/usr/sbin
> MTA=postfix
> MMPATH=/usr/local/sophos/mmsmtp-1.2.2/Linux-x86/bin
> MMSP='mmsmtpd -terminate'
> MMST='mmsmtpd -start'
> MLSTAT=`pgrep -U postfix`
> MMSTAT=`pgrep -u root mmsmtp.out`
> #
> #
> # function to get a single figure from the mail monitor variable
> function fmmstat()
> {
> vMMSTAT=`echo $MMSTAT | awk '{print $1}'`
> echo $vMMSTAT
> }
> # function to get single figure from the mail variable
> function fmlstat()
> {
> vMLSTAT=`echo $MLSTAT | awk '{print $1}'`
> echo $vMLSTAT
> #
> # function to restart MM and postfix
> function mmpf()
> {
>         $MTAPATH/$MTA stop
>         $MMPATH/$MMSP
>         $MMPATH/$MMST
>         $MTAPATH/$MTA start
> }
> 
> # check for existence of data
> fmmstat
> if [ "$vMMSTAT" -lt 1 ]; then
>    mmpf
> fi
> fmlstat
> if [ "$vMLSTAT" -lt 1 ]; then
>    mmpf
> fi
> 
> 
> Jon L. Miller, MCNE, CNS
> Director/Sr Systems Consultant
> MMT Networks Pty Ltd
> http://www.mmtnetworks.com.au 
> 
> "I don't know the key to success, but the key to failure
>  is trying to please everybody." -Bill Cosby
> 
> 
> 
> >>> devenish at guild.uwa.edu.au 6:08:52 PM 25/08/2003 >>>
> In message <sf4a511b.067 at mmtnetworks.com.au>
> on Mon, Aug 25, 2003 at 06:10:31PM +0800, Jon  Miller wrote:
> > MMSTAT=`pgrep -u root mmsmtp.out`
> [...]
> > if [ "$MMSTAT" -lt 1 ]; then
> 
> BTW the above will run pgrep when the variable is declared, not during
> the "if" statement. To resolve this, I would use this, instead:
> 
> > MMSTAT=(pgrep -u root mmsmtp.out >& /dev/null)
> > 
> > if $MMSTAT; then
> 
> This is for zsh, though. Does anyone know a POSIX equivalent?
> 
> 
> 
> 
> 
> 





More information about the plug mailing list