xenial (1) cfget.1.gz

Provided by: cfget_0.19-1.1_all bug

NAME

       cfget - get values from a config file

SYNOPSIS

       cfget [options] section/key
       cfget [options] --dump=STYLE [section/key [section/key...]]
       cfget [options] --template=STYLE [infile [outfile]]

DESCRIPTION

       Get values from a config file.

       cfget  is  a  simple  tool to read values from configuration files.  It is useful, for example, to create
       configurable shellscripts or makefiles.

       It can also be configured to support virtual configuration values that, if  not  present  in  the  config
       file,  are automatically computed from the existing values. This makes it convenient, for example, to get
       a "duration" value from a configuration file that only contains a "start date" and an "end date".

OPTIONS

       --version
              show program's version number and exit

       -h, --help
              show this help message and exit

       -q, --quiet
              quiet mode: only output fatal errors

       -v, --verbose
              verbose mode

       --debug
              verbose mode

       -C file, --cfg=file
              config file to read; the option can be given more than  once  to  read  more  than  one  file.  If
              missing, read a colon separated list from the CFGET_CFG env variable.

       -P file, --plugin=file
              list  of  plugin files or directories to load. The option can be given more than once to read more
              than one file. If missing, read a colon separated list from the CFGET_PLUGINS env variable.

       -d name, --dump=name
              dump the contents of the database using the given style. Use '--dump=list' for a list of available
              styles.  If  one  or more paths are provided in the command line, dump only those paths, otherwise
              dump all.

       -t name, --template=name
              read a template file, expand template placeholders using the configuration  data  and  output  the
              result.  Use '--template=list' for a list of available styles.

       -f name, --format=name
              use  a  custom  configuration  file  format  (default:  ini).   Use  '--format=list' for a list of
              available formats.  The CFGET_FORMAT environment value, if defined,  can  be  used  to  provide  a
              different default value.

       -r path, --root=path
              restrict all work to values under the given path

EXAMPLES

            # Get a key from a config file
            cfget -C file.ini general/name

            # More can be specified, they will be searched in order
            cfget -C general.ini -C local.ini general/name

            # Use a plugin to add virtual entries
            cfget -C file.ini --plugin=virtual.py general/name

            # A plugin can also a directory containing .py files
            # and plugins can also be specified more than once
            cfget -C file.ini --plugin=virtual.py --plugin=virtual/ general/name

            # In a shellscript, you may want to use environment variables if you
            # invoke cfget many times:
            #!/bin/sh
            CFGET_CFG=general.ini:local.ini
            CFGET_PLUGINS=virtual.py:virtual/
            START=`cfget general/start`
            END=`cfget general/end`
            DURATION=`cfget general/duration`

            # Quick way to copy all config values to the environment
            eval `cfget --dump=exports -C file.ini`

            # Autoconf-style template substitution
            cfget --template=autoconf -C file.ini script.in script

            # Curly braces substitude literally
            cfget -C file.ini "general/start_{general/type}"

            # One can use simple expressions
            cfget -C file.ini "general/start + general/duration"
            cfget -C file.ini "round(general/age / 2)"

AUTHOR

       cfget has been written by Enrico Zini <enrico@enricozini.org>.