NAME

shtool - The GNU Portable Shell Tool

VERSION

GNU shtool .0.8 (18-Jul-2008)

SYNOPSIS

shtool [ global_options ] command [ command_options ] [ command_args ]

DESCRIPTION

GNU shtool is a compilation of small but very stable and portable shell scripts into a single shell tool. All ingredients were in successful use over many years in various free software projects. The compiled shtool script is intended to be used inside the source tree of those free software packages. There it can take over various (usually non-portable) tasks related to the building and installation of such packages.

GLOBAL OPTIONS

The following global options are available for shtool. Any commands are ignored if one of them is present on the shtool command line.

-h, --help

Displays a short help page describing the usage of shtool and it's ingredient commands in a compact way.

-v, --version

Displays the version number of shtool.

-d, --debug

Displays shell trace messages for debugging purposes.

-r, --recreate

Recreate the shtool script with its own individual shtoolize(1) call.

COMMANDS

The following commands are provided by shtool. They are all called via "shtool command". Any command options command_opts and arguments command_args are specific to the particular command and are described in the corresponding manual page shtool_command(1). The commands are listed here sorted by topic, i.e., related commands are listed side-by-side.

echo

echo(1) style print command providing special expansion constructs (terminal bold mode, environment details, date) and newline control.

mdate

Pretty-printing of the last modification time of a file or directory.

table

Pretty-printing a field-separated list as a two-dimensional table.

prop

Displaying of a processing indication though a running terminal character propeller.

move

mv(1) style command for renaming/moving multiple files at once and allowing source files just to be deleted if contents did not change.

install

install(1) style command for installing a program, script or data file in a portable way.

mkdir

mkdir(1) style command providing support for automatical parent directory creation, directory permission control and smart skipping if directory already exists.

mkln

ln(1) style command providing automatic calculation and usage of relative links if possible.

mkshadow

Creation of a shadow filesystem tree by the help of symbolic links.

fixperm

Fixing of file permissions in a source tree by cleaning up the permission bits.

rotate

Rotate a logfile.

tarball

Roll standardized distribution tarballs.

subst

Apply sed(1) substitution operations.

platform

Determines platform identification information.

arx

Extended archive command which can even put existing archives into an archive.

slo

Separate linker options by library class.

scpp

An additional C source file pre-processor for sharing cpp(1) code, internal variables and internal functions.

version

Maintain a version information file in either Text, C/C++, Perl or Python. format.

path

Deal with shell path variables.

SEE ALSO

shtoolize(1), shtool-arx(1), shtool-echo(1), shtool-fixperm(1), shtool-install(1), shtool-mdate(1), shtool-mkdir(1), shtool-mkln(1), shtool-mkshadow(1), shtool-move(1), shtool-path(1), shtool-platform(1), shtool-prop(1), shtool-rotate(1), shtool-scpp(1), shtool-slo(1), shtool-subst(1), shtool-table(1), shtool-tarball(1), shtool-version(1).

HISTORY

Some scripts contained in GNU shtool were already written in 1994 by Ralf S. Engelschall for use inside some private source trees. Then they evolved into more elaborated versions over the years and were used in various free software projects like ePerl, WML, iSelect, gFONT, etc. They were complemented with other scripts from the author which he wrote in March 1998 for the ``Apache Autoconf-style Interface'' (APACI) for Apache 1.3. In April 1999 the shtool package was created out of the accumulated master versions of the scripts and in June 1999 it entered the status of an official GNU program and this way finally joined the group of GNU autoconf, GNU automake and GNU libtool.

AUTHOR

Ralf S. Engelschall rse@engelschall.com www.engelschall.com