Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
CONFGET(1)		     General Commands Manual		      CONFGET(1)

NAME
     confget -- read a variable from a configuration file

SYNOPSIS
     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]

DESCRIPTION
     The  confget  utility examines a INI-style configuration file and retrieves
     the value of the specified variables from the specified section.	Its  in-
     tended  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  suit-
     able 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.

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

     -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 spec-
	     ified, confget will only consider variables defined in  the  speci-
	     fied 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 sec-
	     tion header (a "real" unnamed default section); this is  incompati-
	     ble 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.

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 con-
     figuration 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  mes-
     sage 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 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 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`

SEE ALSO
     For  another  way to parse INI files, see the Config::IniFiles(3) Perl mod-
     ule.

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.

FreeBSD ports 15.quarterly	   May 9, 2021			      CONFGET(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=confget&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help