[ale] bash script problem
timothy at meanor.net
timothy at meanor.net
Fri Dec 15 14:06:37 EST 2006
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
More information about the Ale
mailing list