X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=docs%2Fconfig.tex;h=17417c99a1c2574aeac1d57397ffeade81f7c04a;hp=acb4bdf857742ae6490bd71e3970e36b28634e3a;hb=1ee4bf61f6f8f5a1f1a31a9ef8e93b048d3f21a9;hpb=83583eb14715a9d659a091f05f148348733b0014 diff --git a/docs/config.tex b/docs/config.tex index acb4bdf857..17417c99a1 100644 --- a/docs/config.tex +++ b/docs/config.tex @@ -9,25 +9,25 @@ it was written under. Syntax: \begin{Verbatim} -config [] # Section - option # Option +config [""] # Section + option "" # Option \end{Verbatim} Every parameter needs to be a single string and is formatted exactly -like a parameter for a shell function. The same rules for Quoting and +like a parameter for a shell function. The same rules for Quoting and special characters also apply, as it is parsed by the shell. \subsubsection{Parsing configuration files in custom scripts} -To be able to load configuration files, you need to include the common +To be able to load configuration files, you need to include the common functions with: \begin{Verbatim} . /etc/functions.sh \end{Verbatim} -Then you can use \texttt{config\_load \textit{}} to load config files. The function -first checks for \textit{} as absolute filename and falls back to loading +Then you can use \texttt{config\_load \textit{}} to load config files. The function +first checks for \textit{} as absolute filename and falls back to loading it from \texttt{/etc/config} (which is the most common way of using it). If you want to use special callbacks for sections and/or options, you @@ -36,13 +36,13 @@ need to define the following shell functions before running \texttt{config\_load \begin{Verbatim} config_cb() { - local type="$1" - local name="$2" - # commands to be run for every section + local type="$1" + local name="$2" + # commands to be run for every section } option_cb() { - # commands to be run for every option + # commands to be run for every option } \end{Verbatim} @@ -57,18 +57,34 @@ after \texttt{config\_load} is done. That allows you to process sections both before and after all options were processed. +Another way of iterating on config sections is using the \texttt{config\_foreach} command. + +Syntax: +\begin{Verbatim} +config_foreach [] [] +\end{Verbatim} + +This command will run the supplied function for every single config section in the currently +loaded config. The section name will be passed to the function as argument 1. +If the section type is added to the command line, the function will only be called for +sections of the given type. + + You can access already processed options with the \texttt{config\_get} command Syntax: \begin{Verbatim} -config_get