CONFGET(1)
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.