[GRASSLIST:1465] Re: Initialising Grass Script From cron
Scott O'Donnell
odonnell at fsl.noaa.gov
Thu Feb 15 12:08:08 EST 2001
Hi Izak,
Marcus' instructions are nice to know about, but if you don't run GRASS-5.0
yet I don't think it answers your question.
I'm still using GRASS-4.3 (similar to your version) and being a traditional
UNIX user (Linux & HPUX), Iprefer to invoke GRASS functions from the
command line and from scripts, rarely using interactive interface/s.
To guarantee a proper runtime environment for GRASS-4.3, I define my default
GRASS environment variables in my startup script, '.cshrc' (my default
shell is tcsh). I initialize my environment variables using the following
commands (remember I use tcsh, so you may need to adapt these definitions
for your preferred shell)...
setenv GISDBASE ${HOME}/Grass/db
setenv GISRC ${HOME}/.grassrc
setenv LOCATION_NAME UTM
setenv MAPSET 24K
setenv LOCATION ${GISDBASE}/${LOCATION_NAME}/${MAPSET}
(Of course, you must make the necessary directory substitutions)
When I need to access another dataset, I run scripts to redefine these
variables as necessary. Also, I have '.grassrc' files for each of my
datasets and copy the relevant grass resource file to my home directory.
Having done this, my scripts and command line operations ALWAYS
do the right things and I don't struggle with defining the "right"
environment any more.
It's nice to know how to define my working environment when I get to
GRASS-5.0, but until then, this method works well for me.
Hope this helps,
Scott O'Donnell
---
Markus Neteler wrote:
>
> On Thu, Feb 15, 2001 at 03:56:26PM +0200, Izak Thomas Henry Deyzel wrote:
> > Good Day Everyone,
> >
> > I am using Grass4.2.1. I am trying to automise my whole process of data
> > manipulation and map production. I am using a bash script to do the
> > grass stuff, but need to intialise this script from a cron. Grass and
> > its dbase is running the whole time, but the cron runs in its own
> > environment oblivious of Grass dbase. I test for the db being active and
> > receive errors. Is there a method of exporting Grass' environmental
> > variables so that my cron environment will be aware of the dbase or is
> > there a method of intialising Grass and its dbase within the cron
> > script:
> >
> > e.g. grass4.2 <<-script
> > .....grass stuff....
> > exit
> > script
> >
> > Thank you.
> >
> Hi Izak,
>
> you may have a look here:
>
> http://www.geog.uni-hannover.de/grass/faq/index.html#problems
> ->
> How to use GRASS in batch mode (fully script based)?:
>
> This has been simplified in GRASS 5:
>
> grass5 -help
> Usage:
> grass5 [-h | -help | --help] [-text | -tcltk] [[[<GISDBASE>/]<LOCATION_NAME>/]<MAPSET>]
>
> Flags:
> -h or -help or --help print this help message
> -text use text based interface
> -tcltk use Tcl/Tk based graphical interface
>
> Parameters:
> GISDBASE initial database
> LOCATION_NAME initial location
> MAPSET initial mapset
>
> GISDBASE/LOCATION_NAME/MAPSET fully qualified initial LOCATION directory
>
> Environment variables:
> GRASS_TCLSH set tclsh shell name to override 'tclsh'
> GRASS_WISH set wish shell name to override 'wish'
>
> Hope this helps,
>
> Markus Neteler
--
"A successful tool is one that was used | Scott O'Donnell
to do something undreamed of by its author."| odonnell at fsl.noaa.gov
-- S. C. Johnson | 303 497 6562
More information about the grass-user
mailing list