deb-substvars - Linux


deb-substvars is a tool for substituting variables in Debian control files and other text files. It allows you to maintain a single set of files, such as a set of control files, and use different sets of values for the variables based on the environment in which the files are used.


deb-substvars [options] <files>...


  • -d, --defines=VAR[=VAL]

    Define a variable. All variables must be defined before they are used.

  • -v, --verbose

    Enable verbose output.

  • -h, --help

    Print usage information.


Simple Example

The following command substitutes the variable FOO with the value BAR in the file foo.txt:

deb-substvars -d FOO=BAR foo.txt

Complex Example

The following command substitutes the variable FOO with the different values BAR and BAZ in the files foo.txt and bar.txt, respectively:

deb-substvars -d FOO=BAR foo.txt -d FOO=BAZ bar.txt

Common Issues

  • Variable not defined: Ensure that all variables used in the files are defined using the -d option.

  • Incorrect variable syntax: Variable names must be alphanumeric and cannot start with a number or underscore.

  • Mismatched number of definitions: The number of values provided for a variable must match the number of files being processed.


deb-substvars can be used with other tools such as make and sed to automate the process of substituting variables in files. For example, the following makefile uses deb-substvars to substitute variables in a set of control files:

  deb-substvars -d FOO=BAR foo.txt
  deb-substvars -d FOO=BAZ bar.txt

Related Commands

  • sed – A general-purpose stream editor.
  • make – A tool for automating the compilation and installation of software.
  • dpkg-deb – A tool for creating and manipulating Debian packages.