## DESCRIPTION

This program is to be used in shell/perl/python scripts, so the author does not need to use the `echo` program. The advantage of g.message is that it formats messages just like other GRASS modules do and that its functionality is influenced by the `GRASS_VERBOSE` and `GRASS_MESSAGE_FORMAT` environment variables.

The program can be used for standard informative messages as well as warnings (-w flag) and fatal errors (-e flag). For debugging purposes, the -d flag will cause g.message to print a debugging message at the given level.

## NOTES

Messages containing "`=`" must use the full message= syntax so the parser doesn't get confused.

If you want a long message (multi-line) to be dealt with as a single paragraph, use a single call to g.message with text split in the script using the backslash as the last character. (In shell scripts don't close the "quote")

A blank line may be obtained with: `g.message ""`

Redundant whitespace will be stripped away.

It's advisable to single quote the messages that are to be printed literally. It prevents a number of characters (most notably, space and the dollar sign '`$`') from being treated specifically by the Shell.

When it is necessary to include, for example, a variable's value as part of the message, the double quotes may be used, which do not deprive the dollar sign of its special variable-expansion powers.

While it is known that the interactive Bash instances may treat the exclamation mark '`!`' character specifically (making single quoting of it necessary), it shouldn't be the case for the non-interactive instances of Bash. None the less, to avoid context-based confusion later on you are enouraged to single-quote messages that do not require `$VARIABLE` expansion.

### VERBOSITY LEVELS

Controlled by the "`GRASS_VERBOSE`" environment variable. Typically this is set using the `--quiet` or `--verbose` command line options.

- 0 - only errors and warnings are printed
- 1 - progress messages are printed
- 2 - all module messages are printed
- 3 - additional verbose messages are printed

### DEBUG LEVELS

Controlled by the "`DEBUG`" GRASS gisenv variable. (set with g.gisenv)
Recommended levels:

- 1 - message is printed once or few times per module
- 3 - each row (raster) or line (vector)
- 5 - each cell (raster) or point (vector)

## SEE ALSO

GRASS variables and environment variables,
g.gisenv, g.parser

## AUTHOR

Jachym Cepicky

Last changed: $Date: 2011-11-08 03:29:50 -0800 (Tue, 08 Nov 2011) $