shtool-version man page

shtool version — GNU shtool maintain version information file


shtool version [-l|--language lang] [-n|--name name] [-p|--prefix prefix] [-s|--set version] [-e|--edit] [-i|--increase knob] [-d|--display type] file


This command displays and maintains version information in file.

The version is always described with a triple <version,revision,level> and is represented by a string which always matches the regular expression ""[0-9]+\.[0-9]+[sabp.][0-9]+"".

The hexadecimal format for a version "v.rtl" is "VVRRTLL" where "VV" and "RR" directly correspond to "v" and "r", "T" encodes the level type as 9, 2, 1, 0 (representing "s", "p"/".", "b", "a" in this order) and "LL" is either directly corresponding to "l" or set to 99 if level type is "s".


The following command line options are available.

-v, --verbose

Print verbose information during processing.

-l, --language lang

Choose format of version file file. lang=""txt"", ANSI C (lang="c"), M4 (lang="m4"), Perl (lang="perl") or Python (lang="python"). Default is "txt".

-n, --name name

Name the program the version is maintained for. Default is "unknown".

-p, --prefix prefix =item -s, --set version

Set the version to version.

-e, --edit

Interactively enter a new version.

-i, --increase knob

When option “-i” is used, the current version in file is updated by increasing one element of the version where knob can be one of the following: “"v"” for increasing the version by 1 (and resetting revision and level to 0), “"r"” for increasing the revision by 1 (and resetting level to 0) or “"l"” for increasing the level by 1.

-d, --display type

Control the display type: ""short"" for a short version display, ""long"" for a longer version display, ""hex"" for a hexadecimal display of the version and ""libtool"" for a format suitable for use with GNU libtool.


 #   shell script
 shtool version -l c -n FooBar -p foobar -s 1.2b3 version.c

 V=`shtool version -l c -d long version.c`
 echo "Configuring FooBar, Version $V"


The GNU shtool version command was originally written by Ralf S. Engelschall <> in 1994 for OSSP eperl. It was later rewritten from scratch for inclusion into GNU shtool.

See Also


Referenced By


shtool 2.0.8 18-Jul-2008 GNU Portable Shell Tool