g.gisenv(1grass) GRASS GIS User's Manual g.gisenv(1grass)
NAME
g.gisenv - Outputs and modifies the user’s current GRASS variable set-
tings.
Prints all defined GRASS variables if no option is given.
KEYWORDS
general, settings, variables, scripts
SYNOPSIS
g.gisenv
g.gisenv --help
g.gisenv [-sn] [get=variable[,variable,...]] [set="variable=value"]
[unset=variable[,variable,...]] [store=string] [separator=charac-
ter] [--help] [--verbose] [--quiet] [--ui]
Flags:
-s
Use shell syntax (for "eval")
-n
Do not use shell syntax
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog
Parameters:
get=variable[,variable,...]
GRASS variable to get
set="variable=value"
GRASS variable to set
unset=variable[,variable,...]
GRASS variable to unset
store=string
Where GRASS variable is stored
Options: gisrc, mapset
Default: gisrc
separator=character
Separator for multiple GRASS variables
Special characters: pipe, comma, space, tab, newline
Default: newline
DESCRIPTION
When a user runs GRASS, certain variables are set specifying the GRASS
data base, location, mapset, peripheral device drivers, etc., being
used in the current GRASS session. These variable name settings are
recognized as long as the user is running a GRASS session.
OPTIONS
No prompts are given to the user when running g.gisenv.
If run without arguments, g.gisenv lists all of the user’s current
GRASS variable settings. Results are sent to standard output, and may
look like this:
GISDBASE=/opt/grassdata/
LOCATION_NAME=nc_spm_08_grass7
MAPSET=/user1
GUI=gui
If the user specifies a get=variable_name on the command line
g.gisenv MAPSET
only the value for that particular GRASS variable is output to standard
output. Possible variable names depend on the user’s system, see vari-
ables list for details. Note that the variable names are case-insensi-
tive.
While other variables may be associated with each GRASS session (e.g.,
GRASS_GUI, GIS_LOCK, and other variables), those stated below are es-
sential.
GISDBASE
The GISDBASE is a directory in which all users’ GRASS data are
stored. Within the GISDBASE, data are segregated into subdirecto-
ries (called "locations") based on the map coordinate system used
and the geographic extent of the data. Each "location" directory
itself contains subdirectories called "mapsets"; each "mapset"
stores "data base elements" - the directories (e.g., the cell,
cellhd, vector, etc., directories) in which GRASS data files are
actually stored.
LOCATION_NAME
The user must choose to work with the data under a single GRASS lo-
cation within any given GRASS session; this location is then called
the current GRASS location, and is specified by the variable LOCA-
TION_NAME. The LOCATION_NAME is the GRASS data base location whose
data will be affected by any GRASS commands issued during the
user’s current GRASS session, and is a subdirectory of the current
GISDBASE. Each "location" directory can contain multiple "mapset"
directories (including the special mapset PERMANENT). Maps stored
under the same GRASS LOCATION_NAME (and/or within the same MAPSET)
must use the same coordinate system and typically fall within the
boundaries of the same geographic region (aka, "location").
MAPSET
Each "mapset" contains a set of maps relevant to the LOCATION_NAME
directory in which it appears. Each LOCATION_NAME can contain mul-
tiple mapsets. (Mapsets which fall under the same LOCATION_NAME all
contain data geographically relevant to the LOCATION_NAME, and all
store data in the same map coordinate system. Frequently, maps are
placed into different mapsets to distinguish file ownership - e.g.,
each user might have one or more own mapset(s), storing any maps
that the user has created and/or are relevant to the own work.)
During each GRASS session, the user must choose one mapset to be
the current mapset; the current mapset setting is given by MAPSET,
and is a subdirectory of LOCATION_NAME. During a single GRASS ses-
sion, the user can use available data in any of the mapsets stored
under the current LOCATION_NAME directory that are in the user’s
mapset search path and accessible by the user. However, within a
single GRASS session, the user only has write access to data stored
under the current mapset (specified by the variable MAPSET).
Each "mapset" stores GRASS data base elements (i.e., the directories in
which GRASS data files are stored). Any maps created or modified by
the user in the current GRASS session will be stored here. The MAPSET
directory PERMANENT is generally reserved for the set of maps that form
the base set for all users working under each LOCATION_NAME.
Once within a GRASS session, GRASS users have access only to the data
under a single GRASS data base directory (the current GRASS data base,
specified by the variable GISDBASE), and to a single GRASS location di-
rectory (the current location, specified by the variable LOCA-
TION_NAME). Within a single session, the user may only modify the data
in the current mapset (specified by the variable MAPSET), but may use
data available under other mapsets under the same LOCATION_NAME.
All of these names must be legal names on the user’s current system.
The full path to the current mapset is determined from GISDBASE, LOCA-
TION_NAME, MAPSET variables, in the example above: /opt/grass-
data/spearfish/PERMANENT. The full path can be printed using g.gisenv
by providing multiple variables:
g.gisenv get=GISDBASE,LOCATION_NAME,MAPSET sep=’/’
/opt/grassdata/nc_spm_08_grass7/user1
NOTES
The output from g.gisenv when invoked without arguments is directly us-
able by Bash. The following command will cast each variable into the
UNIX environment:
eval `g.gisenv`
This works only for Bash, sh, ksh, etc. The format of the output is not
compatible with some other UNIX shells.
By default the GRASS variables are stored in gisrc file (defined by en-
vironmental variable GISRC). If store=mapset is given than the vari-
ables are stored in $GISDBASE/$LOCATION_NAME/$MAPSET/VAR.
GRASS Debugging
To print debugging messages, the variable DEBUG must be set to level
equal or greater than 0:
g.gisenv set="DEBUG=3"
Levels: (recommended levels)
• 0 - silence
• 1 - message is printed once or few times per module
• 3 - each row (raster) or line (vector)
• 5 - each cell (raster) or point (vector)
To disable debugging messages:
g.gisenv unset="DEBUG"
The variable DEBUG controls debugging messages from GRASS libraries and
modules.
Similarly WX_DEBUG controls debugging messages from wxGUI.
SEE ALSO
g.access, g.filename, g.findfile, g.mapsets
See also variables list
AUTHOR
Michael Shapiro, U.S.Army Construction Engineering Research Laboratory
SOURCE CODE
Available at: g.gisenv source code (history)
Accessed: unknown
Main index | General index | Topics index | Keywords index | Graphical
index | Full index
© 2003-2022 GRASS Development Team, GRASS GIS 7.8.7 Reference Manual
GRASS 7.8.7 g.gisenv(1grass)
Generated by dwww version 1.14 on Mon Nov 3 15:35:07 CET 2025.