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

[ale] bash script problem



Try getting rid of the backticks around $CMD.

-Tim

>>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