logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

confget — read a variable from a configuration file

Author

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

Debian                                             May 9, 2021                                        CONFGET(1)

Bugs

       Please report any bugs in confget to the author.

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.

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

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

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

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

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

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

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

Examples

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

             confget-fh.conf-ssystemmachine_id

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

             confget-fh.conf-sdb-m'*.ringlet.net'hostname

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

             confget-fh.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-fh.conf-ssystem-p'cfg_'-L'mach*''*name'

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

             confget-fh.conf-ssystem-l

       Safely read the contents of the db section:

             eval`confget-fh.conf-sdb-pdb_-S-l`

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.

Name

       confget — read a variable from a configuration file

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.

Synopsis

confget  [-cOSx]  [-N  |  -n]  [-ffilename] [-mpattern] [-Ppostfix] [-pprefix] [-ssection] [-ttype]
               varname...confget [-OSx] [-N | -n] [-ffilename] [-mpattern] [-Ppostfix] [-pprefix] [-ssection]  [-ttype]  -Lpattern...confget [-OSx] [-N | -n] [-ffilename] [-mpattern] [-Ppostfix] [-pprefix] [-ssection] [-ttype] -lconfget [-ffilename] -qsections [-ttype]
       confget [-hTV]

See Also