[GRASSLIST:855] Re: fast start
Glynn Clements
glynn.clements at virgin.net
Tue Jul 29 10:59:51 EDT 2003
viktoras wrote:
> Is there a short way to start grass5 at once (and/or tcltkgrass GUI)
> with a single line command something like "grass5 mapset=blah
> location=blahblah" ?
> What parameters should I pass to stdin of grass5 if I want to start it
> from within a script ?
Pass the complete path to the mapset directory, e.g.
grass5 /opt/grass-data/spearfish/mymapset
If you want to use it from within a script, you probably don't want it
to start an interactive shell. In that case, you need to set the
environment variable SHELL to the path to a script, e.g.
SHELL=/path/to/script grass5 /opt/grass-data/spearfish/mymapset
Alternatively, paste the relevant chunks of the grass5 script and
$GISBASE/etc/Init.sh into your own script.
Basically, in order for GRASS commands to work, certain environment
variables need to be set. Primarily:
1. GISBASE needs to point to the root of the the GRASS installation
(e.g. /usr/local/grass5).
2. GISRC needs to point to a file (e.g. ~/.grassrc5) containing the
session parameters (at least GISDBASE, LOCATION_NAME and MAPSET need
to be set). If you don't specific the mapset directory on the command
line, Init.sh uses either etc/set_data (text mode) or gis_set.tcl
(Tcl/Tk) to initialise the contents of this file.
A few other environment variables are used by specific commands; look
at $GISBASE/etc/Init.sh for the details.
Apart from initialising environment variables and the $GISRC file, the
other tasks which Init.sh performs are creating the lock file
~/.gislock5, and spawning the shell.
--
Glynn Clements <glynn.clements at virgin.net>
More information about the grass-user
mailing list