.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SHTOOL.TMP 1" .TH SHTOOL.TMP 1 "shtool 2.0.8" "18-Jul-2008" "GNU Portable Shell Tool" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" shtool \- The GNU Portable Shell Tool .SH "VERSION" .IX Header "VERSION" \&\s-1GNU\s0 shtool \s-12.0.8 (18-Jul-2008)\s0 .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBshtool\fR [ \fIglobal_options\fR ] \&\fIcommand\fR [ \fIcommand_options\fR ] [ \fIcommand_args\fR ] .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fB\s-1GNU\s0 shtool\fR 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 \fBshtool\fR 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. .SH "GLOBAL OPTIONS" .IX Header "GLOBAL OPTIONS" The following \fIglobal options\fR are available for \fBshtool\fR. Any \fIcommand\fRs are ignored if one of them is present on the \fBshtool\fR command line. .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" Displays a short help page describing the usage of \fBshtool\fR and it's ingredient \fIcommand\fRs in a compact way. .IP "\fB\-v\fR, \fB\-\-version\fR" 4 .IX Item "-v, --version" Displays the version number of \fBshtool\fR. .IP "\fB\-d\fR, \fB\-\-debug\fR" 4 .IX Item "-d, --debug" Displays shell trace messages for debugging purposes. .IP "\fB\-r\fR, \fB\-\-recreate\fR" 4 .IX Item "-r, --recreate" Recreate the \fBshtool\fR script with its own individual \fBshtoolize\fR\|(1) call. .SH "COMMANDS" .IX Header "COMMANDS" The following \fIcommand\fRs are provided by \fBshtool\fR. They are all called via "\f(CW\*(C`shtool\*(C'\fR \fIcommand\fR". Any command options \fIcommand_opts\fR and arguments \fIcommand_args\fR are specific to the particular \fIcommand\fR and are described in the corresponding manual page \fBshtool_\fR\fIcommand\fR(1). The commands are listed here sorted by topic, i.e., related commands are listed side-by-side. .IP "\fBecho\fR" 16 .IX Item "echo" \&\fBecho\fR\|(1) style print command providing special expansion constructs (terminal bold mode, environment details, date) and newline control. .IP "\fBmdate\fR" 16 .IX Item "mdate" Pretty-printing of the last modification time of a file or directory. .IP "\fBtable\fR" 16 .IX Item "table" Pretty-printing a field-separated list as a two-dimensional table. .IP "\fBprop\fR" 16 .IX Item "prop" Displaying of a processing indication though a running terminal character propeller. .IP "\fBmove\fR" 16 .IX Item "move" \&\fBmv\fR\|(1) style command for renaming/moving multiple files at once and allowing source files just to be deleted if contents did not change. .IP "\fBinstall\fR" 16 .IX Item "install" \&\fBinstall\fR\|(1) style command for installing a program, script or data file in a portable way. .IP "\fBmkdir\fR" 16 .IX Item "mkdir" \&\fBmkdir\fR\|(1) style command providing support for automatical parent directory creation, directory permission control and smart skipping if directory already exists. .IP "\fBmkln\fR" 16 .IX Item "mkln" \&\fBln\fR\|(1) style command providing automatic calculation and usage of relative links if possible. .IP "\fBmkshadow\fR" 16 .IX Item "mkshadow" Creation of a shadow filesystem tree by the help of symbolic links. .IP "\fBfixperm\fR" 16 .IX Item "fixperm" Fixing of file permissions in a source tree by cleaning up the permission bits. .IP "\fBrotate\fR" 16 .IX Item "rotate" Rotate a logfile. .IP "\fBtarball\fR" 16 .IX Item "tarball" Roll standardized distribution tarballs. .IP "\fBsubst\fR" 16 .IX Item "subst" Apply \fBsed\fR\|(1) substitution operations. .IP "\fBplatform\fR" 16 .IX Item "platform" Determines platform identification information. .IP "\fBarx\fR" 16 .IX Item "arx" Extended archive command which can even put existing archives into an archive. .IP "\fBslo\fR" 16 .IX Item "slo" Separate linker options by library class. .IP "\fBscpp\fR" 16 .IX Item "scpp" An additional C source file pre-processor for sharing \fBcpp\fR\|(1) code, internal variables and internal functions. .IP "\fBversion\fR" 16 .IX Item "version" Maintain a version information file in either Text, C/\*(C+, Perl or Python. format. .IP "\fBpath\fR" 16 .IX Item "path" Deal with shell path variables. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBshtoolize\fR\|(1), \fBshtool\-arx\fR\|(1), \fBshtool\-echo\fR\|(1), \fBshtool\-fixperm\fR\|(1), \&\fBshtool\-install\fR\|(1), \fBshtool\-mdate\fR\|(1), \fBshtool\-mkdir\fR\|(1), \fBshtool\-mkln\fR\|(1), \&\fBshtool\-mkshadow\fR\|(1), \fBshtool\-move\fR\|(1), \fBshtool\-path\fR\|(1), \fBshtool\-platform\fR\|(1), \&\fBshtool\-prop\fR\|(1), \fBshtool\-rotate\fR\|(1), \fBshtool\-scpp\fR\|(1), \fBshtool\-slo\fR\|(1), \&\fBshtool\-subst\fR\|(1), \fBshtool\-table\fR\|(1), \fBshtool\-tarball\fR\|(1), \fBshtool\-version\fR\|(1). .SH "HISTORY" .IX Header "HISTORY" Some scripts contained in \s-1GNU\s0 \fBshtool\fR were already written in 1994 by \&\fIRalf S. Engelschall\fR 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, \s-1WML,\s0 iSelect, gFONT, etc. They were complemented with other scripts from the author which he wrote in March 1998 for the ``Apache Autoconf-style Interface'' (\s-1APACI\s0) for Apache 1.3. In April 1999 the \fBshtool\fR package was created out of the accumulated master versions of the scripts and in June 1999 it entered the status of an official \s-1GNU\s0 program and this way finally joined the group of \s-1GNU\s0 \fBautoconf\fR, \s-1GNU\s0 \fBautomake\fR and \s-1GNU\s0 \fBlibtool\fR. .SH "AUTHOR" .IX Header "AUTHOR" .Vb 3 \& Ralf S. Engelschall \& rse@engelschall.com \& www.engelschall.com .Ve