shtk
—
Application Programming Interface (API) of the Shell
Toolkit
The Shell Toolkit, or shtk
for short, is a collection of
modules written in
sh(1) that
provide common functionality to simplify the implementation of complex shell
scripts. This page provides an introduction to writing scripts using
shtk
and serves as a reference to all the provided
modules by it.
Scripts using shtk
follow this structure:
shtk_import module1
shtk_import moduleN
# possibly define globals here
some_custom_function() {
local arg1="${1}"; shift
local arg2="${1}"; shift
# do something
}
main() {
# program entry point; automatically invoked
}
In particular, note: that there is no shebang line at the
beginning of the script; that there is no explicit call to
main
; and that there is no code outside of shell
functions other than for calls to
shtk_import(3).
The shtk(1)
tool offers a compilation process for scripts using
shtk(3). In
this context, compilation just refers to the addition of initialization
boilerplate code to the script so that the correct modules can be located and
that a well-known shell interpreter is used.
The
shtk_import(3)
function depicted above is used to bring the specified modules into the
script. For details on all existing modules, see the list of cross-referenced
pages in the SEE ALSO section below.
The shtk
package was developed by Julio
Merino ⟨jmmv@google.com⟩.