66
www.obarun.org

execl-envfile

This command is a blend of s6-envdir and importas program. It reads files containing variable assignments on the given directory, adds the variables to the environment, then executes a program.

Interface

	execl-envfile [ -h ] [ -f file ] [ -l ] dir prog
	

This tool expects to find a regular file(s) in dir containing one or multiple key=value pair. For each files found: it will parse the file, import the key=value then execs prog with the modified environment.

Options

File syntax

file is a text file containing lines of the form key = value. Whitespace is permitted before and after key, and before or after value, Quoting is also possible. In this case, the quoting field is treated as one word.

Empty lines, or lines containing only whitespace, are ignored. Lines beginning with # (possibly after some whitespace) are ignored (and typically used for comments). Comments are not possible at the end of lines: key = value # comment is not a valid comment.

Empty value is not permitted.

If key begin by a '!' character: !key=value the key will be removed from the environment after the substitution.

Example of use

	#!/usr/bin/execlineb -P
	fdmove -c 2 1
	execl-envfile -f ntpd /etc/66/conf/
	foreground { mkdir -p  -m 0755 ${RUNDIR} } 
	execl-cmdline -s { ntpd ${CMD_ARGS} }
	

The strict equivalent with s6-envdir and importas command will be:

	#!/usr/bin/execlineb -P
	fdmove -c 2 1
	s6-envdir /etc/66/conf
	importas -u RUNDIR RUNDIR
	importas -u CMD_ARGS CMD_ARGS
	foreground { mkdir -p  -m 0755 ${RUNDIR} } 
	execl-cmdline -s { ntpd ${CMD_ARGS} }
	

where /etc/66/conf directory contains two named files RUNDIR and CMD_ARGS written with /run/openntpd and -d -s respectively.

limits

dir cannot exceed more than 100 files. Each file cannot contain more than 4095 bytes or more than 50 key=value pairs.