Man Linux: Main Page and Category List

NAME

     confget - read a variable from a configuration file

SYNOPSIS

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

DESCRIPTION

     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.

     Options:

     -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 input.

     -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.

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

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

     -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 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.

     -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.

ENVIRONMENT

     Not taken into consideration.

EXIT STATUS

     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.

EXAMPLES

     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 -f- -t http_get -x -m ’^+$’ page_id

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

           confget -f h.conf -s db -m ’*.ringlet.net’ hostname

     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‘

SEE ALSO

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

STANDARDS

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

BUGS

     Please report any bugs in confget to the author.

AUTHOR

     The confget utility was conceived and written by Peter Pentchev
     〈roam@ringlet.net〉 in 2008.