File: gmt_shell_functions.sh.rst

package info (click to toggle)
gmt 5.3.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 150,460 kB
  • ctags: 18,539
  • sloc: ansic: 194,217; sh: 7,349; xml: 149; makefile: 72; fortran: 49; lisp: 41; csh: 5
file content (144 lines) | stat: -rw-r--r-- 4,304 bytes parent folder | download | duplicates (2)
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`