1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
.. index:: ! gmt_shell_functions.sh
**********************
gmt_shell_functions.sh
**********************
.. only:: not man
gmt_shell_functions.sh - Practical functions to be used in GMT Bourne Again shell scripts
Synopsis
--------
**gmt_init_tmpdir**
**gmt_remove_tmpdir**
**gmt_clean_up** [*prefix*]
**gmt_message** *message*
**gmt_abort** *message*
**gmt_get_nrecords** *file(s)*
**gmt_get_ndatarecords** *file(s)*
**gmt_get_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_pdffile** *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 :doc:`gmt.conf` 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_get_nrecords**
Returns the total number of lines in *file(s)*
**gmt_get_ndatarecords**
Returns the total number of data records in *file(s)*, i.e., not counting headers.
**gmt_get_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 -I*dx*/\ *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 -I*dx*/\ *dy* to round off the answer.
**gmt_get_map_width**
Expects the user to give the desired **-R** **-J** settings and
returns the map width in the current measurement unit.
**gmt_get_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 adding a New Issue request on gmt.soest.hawaii.edu.
See Also
--------
:doc:`gmt` , :doc:`gmt.conf` ,
:doc:`gmtinfo` , :doc:`grdinfo`
|