Provided by: confget_2.3.0-1_amd64 bug


     confget — read a variable from a configuration file


     confget [-cOSx] [-N | -n] [-f filename] [-m pattern] [-P postfix] [-p prefix] [-s section]
             [-t type] varname...
     confget [-OSx] [-N | -n] [-f filename] [-m pattern] [-P postfix] [-p prefix] [-s section]
             [-t type] -L pattern...
     confget [-OSx] [-N | -n] [-f filename] [-m pattern] [-P postfix] [-p prefix] [-s section]
             [-t type] -l
     confget [-f filename] -q sections [-t type]
     confget [-hTV]


     The confget utility examines a INI-style configuration file and retrieves the value of the
     specified variables from the specified section.  Its intended use is to let shell scripts
     use the same INI-style configuration files as other programs, to avoid duplication of data.

     The confget utility may retrieve the values of one or more variables, list all the variables
     in a specified section, list only those whose names or values match a specified pattern
     (shell glob or regular expression), or check if a variable is present in the file at all.
     It has a “shell-quoting” output mode that quotes the variable values in a way suitable for
     passing them directly to a Bourne-style shell.


     -c      Check-only mode; exit with a code of 0 if any of the variables are present in the
             configuration file, and 1 if there are none.

     -f filename
             Specify the configuration file to read from, or “-” (a single dash) for standard

     -h      Display program usage information and exit.

     -L      Variable list mode; display the names and values of all variables in the specified
             section with names matching one or more specified patterns.

     -l      List mode; display the names and values of all variables in the specified section.

     -m pattern
             Only display variables with if their values match the specified pattern.

     -N      Always display the variable name along with the value.

     -n      Never display the variable name, only the value.

     -O      Allow variables in the specified section to override variables in the unnamed
             section at the start of the file.  This is the only case when confget even considers
             variables in more than one section.

     -P postfix
             Display this string after the variable name as a postfix.

     -p prefix
             Display this string before the variable name as a prefix.

     -q query
             Query for a specific type of information.  For the present, the only supported value
             for the query argument is “sections”, which lists the names of the sections defined
             in the configuration file.

     -S      Quote the variable values so that the “var=value” lines may be passed directly to
             the Bourne shell.

     -s section
             Specify the configuration section to read.  If this option is specified, confget
             will only consider variables defined in the specified section; see the -O option for
             the only exception.

             If this option is not specified, confget will use the first section found in the
             configuration file.  However, if the configuration file contains variable
             definitions before a section header, confget will only examine them instead.

             If the -s option is specified with an empty string as the section name, confget will
             only examine variables defined before any section header (a “real” unnamed default
             section); this is incompatible with the -O option.

     -T      List the available configuration file types that may be selected by the -t option.

     -t type
             Specify the configuration file type.

     -V      Display program version information and exit.

     -x      Treat the patterns as regular expressions instead of shell glob patterns.


     Not taken into consideration.


     If the -c option is specified, the confget utility will exit with a status of 0 if any of
     the specified variables exist in the config file and 1 if none of them are present.

     In normal operation, no matter whether any variables were found in the configuration file or
     not, the confget utility exits with a status of 0 upon normal completion.  If any errors
     should occur while accessing or parsing the configuration file, the confget utility will
     display a diagnostic message on the standard error stream and exit with a status of 1.


     Retrieve the variable machine_id from the system section of a configuration file:

           confget -f h.conf -s system machine_id

     Retrieve the page_id variable from an HTTP GET request, but only if it is a valid number:

           confget -t http_get -x -m '^+$' page_id

     Retrieve the variable hostname from the db section, but only if it ends in “”:

           confget -f h.conf -s db -m '*' hostname

     Display the names and values of all variables declared before any section has been defined:

           confget -f h.conf -s '' -l

     Display the names and values of all variables in the system section with names beginning
     with “mach” or ending in “name”, appending a “cfg_” at the start of each variable name:

           confget -f h.conf -s system -p 'cfg_' -L 'mach*' '*name'

     Display the names and values of all variables in the system section:

           confget -f h.conf -s system -l

     Safely read the contents of the db section:

           eval `confget -f h.conf -s db -p db_ -S -l`


     For another way to parse INI files, see the Config::IniFiles(3) Perl module.


     No standards documentation was harmed in the process of creating confget.


     Please report any bugs in confget to the author.


     The confget utility was conceived and written by Peter Pentchev <> in 2008.