[ale] bash script problem

Charles Shapiro hooterpincher at gmail.com
Fri Dec 15 14:08:07 EST 2006


Ooh, that's just Quoting Issues.  I don't really have time to actually
fiddle through running this right now.

But I can see from your text you're missing a ' at the end. Should be just
before your last ".

-- CHS


On 12/15/06, Jim Popovitch <jimpop at yahoo.com> wrote:
>
> On Fri, 2006-12-15 at 13:43 -0500, Charles Shapiro wrote:
> > Isn't "if" a bash built-in?  If so, I'd expect:
> >
> > CMD="/bin/bash -c 'if [ -e /var/lib/clamav/daily.cvd ]; then ls
> > -al /var/lib/clamav/daily.cvd; else echo; fi' "
> >
> > would work better.
> >
>
> Thanks for the suggestion Charles, however that still doesn't work.  CMD
> now looks like this:
>
>    CMD="/bin/bash -c 'if [ -e /var/lib/clamav/daily.cvd ]; then
>       ls -al /var/lib/clamav/daily.cvd; else echo; fi'"
>
> and the new errors are:
>
>    [: -c: line 1: unexpected EOF while looking for matching `''
>       [: -c: line 2: syntax error: unexpected end of file
>
> Any other suggestions?
>
> Thanks,
>
> -Jim P.
>
>
> > -- CHS
> >
> >
> >
> > On 12/15/06, Jim Popovitch <jimpop at yahoo.com> wrote:
> >         Below is a small script that i use to check the status of
> >         ClamAV's
> >         daily.cvd file on a bunch of servers.  This works for all
> >         remote servers
> >         listed in ~/.hosts, but if the host equals `hostname` the
> >         command fails
> >         to execute with the error "line 1: if: command not
> >         found".  Now, if I
> >         remove the "if ..." logic in CMD and replace it just with "ls
> >         -al ...."
> >         then the command succeeds for all hosts including the local
> >         machine it
> >         is run on.  Any ideas on why the "if" fails?
> >
> >         --------------------
> >         #!/bin/sh
> >
> >         CMD="if [ -e /var/lib/clamav/daily.cvd ]; then ls
> >         -al /var/lib/clamav/daily.cvd; else echo; fi"
> >
> >         me=`hostname`
> >
> >         for host in `cat ~/.hosts`; do
> >            echo -n "$host       ";
> >            if [ $host = $me ]; then
> >                 `$CMD`;
> >            else
> >                ssh $host $CMD;
> >            fi
> >         done
> >         ---------------------
> >
> >         Thanks,
> >
> >         -Jim P.
> >
> >         _______________________________________________
> >         Ale mailing list
> >         Ale at ale.org
> >         http://www.ale.org/mailman/listinfo/ale
> >
> > _______________________________________________
> > Ale mailing list
> > Ale at ale.org
> > http://www.ale.org/mailman/listinfo/ale
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://www.ale.org/mailman/listinfo/ale
>
-------------- next part --------------
An HTML attachment was scrubbed...




More information about the Ale mailing list