Folks, I have a bash script and I wanted to be able to catch a situation
and then send an email to the user flagging this. However, the -s to
`mail` doesn't allow spaces and I cannot work out, despite several
attempts, how to escape/quote etc in order to do what I want. Here's
what I'd like to do:

#!/bin/bash -x
TEMPFILE=`mktemp /tmp/chk_procs_XXX`
trap 'date|mail -s "$0 error" [EMAIL PROTECTED];echo Error - aborting;\
exit' ERR

### only allow one instance of this per user to run at a given time
ps -elf|grep $0|grep -v grep > $TEMPFILE
if [[ `cat $TEMPFILE | wc -l` -gt 1 ]]; then 
    #cat $TEMPFILE
    date | mail -s '${0} already Running' [EMAIL PROTECTED]
    rm $TEMPFILE
    exit -1
fi
rm $TEMPFILE


but that mails the string $0 not the value. Removing the quotes results
in an error.

Any ideas?
Thanks, M


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to