# GMT_SHELL_FUNCTIONS.SH

NAME
SYNOPSIS
DESCRIPTION
NOTES
SEE ALSO

## NAME

gmt_shell_functions.sh − Practical functions to be used in GMT bourne shell scripts

## SYNOPSIS

gmt_init_tmpdir
gmt_remove_tmpdir
gmt_clean_up [prefix]
gmt_message message
gmt_abort message
gmt_nrecords file(s)
gmt_nfields string
gmt_get_field string
gmt_get_region file(s) [options]
gmt_get_gridregion file [options]
gmt_get_map_width −R −J
gmt_get_map_height −R −J
gmt_set_psfile file
gmt_set_framename prefix framenumber
gmt_set_framenext framenumber

## DESCRIPTION

gmt_shell_functions.sh provides a set of functions to Bourne (again) shell scripts in support of GMT. The calling shell script should include the following line, before the functions can be used:

. gmt_shell_functions.sh

Once included in a shell script, gmt_shell_functions.sh allows GMT users to do some scripting more easily than otherwise. The functions made available are:
gmt_init_tmpdir

Creates a temporary directory in /tmp or (when defined) in the directory specified by the environment variable TMPDIR. The name of the temporary directory is returned as environment variable GMT_TMPDIR. This function also causes GMT to run in ‘isolation mode’, i.e., all temporary files will be created in GMT_TMPDIR and the .gmtdefaults file will not be adjusted.

gmt_remove_tmpdir

Removes the temporary directory and unsets the GMT_TMPDIR environment variable.

gmt_cleanup

Remove all files and directories in which the current process number is part of the file name. If the optional prefix is given then we also delete all files and directories that begins with the given prefix.

gmt_message

Send a message to standard error.

gmt_abort

Send a message to standard error and exit the shell.

gmt_nrecords

Returns the total number of lines in file(s)

gmt_nfields

Returns the number of fields or words in string

gmt_get_field

Returns the given field in a string. Must pass string between double quotes to preserve it as one item.

gmt_get_region

Returns the region in the form w/e/s/n based on the data in table file(s). Optionally add -Idx/dy to round off the answer.

gmt_get_gridregion

Returns the region in the form w/e/s/n based on the header of a grid file. Optionally add -Idx/dy to round off the answer.

gmt_map_width

Expects the user to give the desired -R −J settings and returns the map width in the current measurement unit.

gmt_map_height

Expects the user to give the desired -R −J settings and returns the map height in the current measurement unit.

gmt_set_psfile

Create the output PostScript file name based on the base name of a given file (usually the script name $0).

gmt_set_framename

Returns a lexically ordered filename stem (i.e., no extension) given the file prefix and the current frame number, using a width of 6 for the integer including leading zeros. Useful when creating animations and lexically sorted filenames are required.

gmt_set_framenext

Accepts the current frame integer counter and returns the next integer counter.

## NOTES

1. These functions only work in the bourne shell (sh) and their derivatives (like ash, bash, ksh and zsh). These functions do not work in the C shell (csh) or their derivatives (like tcsh), and cannot be used in DOS batch scripts either.
2. gmt_shell_functions.sh were first introduced in GMT version 4.2.2 and have since been regularly expanded with other practical scripting short-cuts. If you want to suggest other functions, please do so by mailing to the GMT mailing list: gmt-help@lists.hawaii.edu.

## SEE ALSO

GMT(1), sh(1), bash(1), minmax(1), grdinfo(1)