66
www.obarun.org

66-envfile

This command is a mix 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

	66-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 earch 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.

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
	66-envfile -f ntpd /etc/66/conf/
	foreground { mkdir -p  -m 0755 ${RUNDIR} } 
	execl-cmdline -s { ntpd ${CMD_ARGS} }
	
/etc/66/conf/ntpd file contain :
	!RUNDIR=/run/openntpd
	!CMD_ARGS=-d -s
	

66-envfile reads /etc/66/conf/ntpd file, parses the file, import the variable RUNDIR and CMD_ARGS, replaces the ${RUNDIR} and ${CMD_ARGS} by the corresponding values, unexport the variable then execs the ntpd commandline.

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.