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

Re: using mail in scripts



On Tue, Nov 13, 2007 at 03:32:39PM +0000, cs wrote:
> #!/bin/bash -x
> TEMPFILE=`mktemp /tmp/chk_procs_XXX`
> trap 'date|mail -s "$0 error" michael@there.com;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' michael@here.com
>     rm $TEMPFILE
>     exit -1
> fi
> rm $TEMPFILE
> 
> 
> but that mails the string $0 not the value. Removing the quotes results
> in an error.

If I recall correctly, single quote dumps values literally. You might
want to use doublt quotes for the value of ${0} to be substituted,
though I am not 100% sure that that will solve the problem.

Kumar
-- 
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036



Reply to: