FreeBSD Manual Pages
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 predefined 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, including support for specifying the path to the configuration file and support to accept command-line overrides to the configuration vari- ables: 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_default(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 14.quarterly November 6, 2014 SHTK_CONFIG(3)
NAME | LIBRARY | DESCRIPTION | EXAMPLES | SEE ALSO | HISTORY
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+14.3.quarterly>