[ale] Bash:  How to determine if called from cron?
    Christopher Fowler 
    cfowler at outpostsentinel.com
       
    Mon Jun 27 08:51:00 EDT 2005
    
    
  
Cron output is stored into a temp file in /tmp.  You can stat STDOUT and
see what filename is for that descriptor.  If the filename contains the
word 'cron' then you are inside cron. 
The only problem there is I know how to do this in C.  Uoi can do it in
perl but I have no clue how to in bash.
You might be able to do something like this:
LOCATION=`perl <<EOF
......
EOF
`
Then check the value of that variable.
Or maybe this will work in bash
[cfowler at cfowler cfowler]$ FD1=`ls -l /proc/$$/fd/1 | cut -d '>' -f2`;
[cfowler at cfowler cfowler]$ echo $FD1
/dev/pts/1
You'll want to check FD1 for the word cron.  
On Mon, 2005-06-27 at 00:17, Christopher Bergeron wrote:
> Does anyone know of an easy way for my script to determine if it's being 
> run from cron or from a user shell? 
> 
> I have a feeling theres an easy way to do this, but I'm drawing a 
> complete blank right now.  I'm looking at my Environment vars, but I'm 
> not sure what gets set by Cron when it runs a script.
> 
> Any ideas are much appreciated...
> 
> Kind regards,
> CB
> 
> 
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://www.ale.org/mailman/listinfo/ale
    
    
More information about the Ale
mailing list