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

FreeBSD Manual Pages

  
 
  

home | help
SHTK_CONFIG(3)		     Library Functions Manual		  SHTK_CONFIG(3)

NAME
     config -- Configuration file processing and queries

LIBRARY
     shtk_import config

DESCRIPTION
     The  config  module provides a mechanism to load configuration files and to
     handle any settings defined in them.

     Configuration files are simply shell scripts that can define a set of  pre-
     defined variables.

EXAMPLES
     Consider the following configuration file:

	   MYVAR1="this is the first setting"
	   MYVAR2="this is the second setting"

	   post_load_hook() {
	       echo "Custom hook! The file has been loaded!"
	   }

     The following sample code depicts a main method to load the file above, in-
     cluding  support for specifying the path to the configuration file and sup-
     port to accept command-line overrides to the configuration variables:

	   local config_file="/etc/foo.conf"

	   shtk_config_init MYVAR1 MYVAR2

	   local OPTIND
	   while getopts ':c:o:' arg "${@}"; do
	       case "${arg}" in
		   c)  # Path to the configuration to load.
		       config_file="${OPTARG}"
		       ;;

		   o)  # Override for a particular configuration variable.
		       shtk_config_override "${OPTARG}"
		       ;;

		   \?)
		       shtk_cli_usage_error "Unknown option -${OPTARG}"
		       ;;
	       esac
	   done
	   shift $((${OPTIND} - 1))

	   shtk_config_set MYVAR1 "default value for first variable"
	   # No default value for MYVAR2
	   post_load_hook() { true; }

	   shtk_config_load "${config_file}"

	   echo "MYVAR1 is $(shtk_config_get MYVAR1)"
	   echo "MYVAR2 is $(shtk_config_get_default MYVAR2 "not yet set")"
	   shtk_config_run_hook post_load_hook

SEE ALSO
     shtk(3), shtk_config_get(3),  shtk_config_get_bool(3),  shtk_config_get_de-
     fault(3),	shtk_config_has(3), shtk_config_include(3), shtk_config_init(3),
     shtk_config_load(3),   shtk_config_override(3),	shtk_config_run_hook(3),
     shtk_config_set(3), shtk_config_unset(3)

HISTORY
     config first appeared in shtk 1.0.

FreeBSD ports 15.quarterly	November 6, 2014		  SHTK_CONFIG(3)

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

home | help