execline
Software
skarnet.org
The forx program
forx runs a loop.
Interface
In an execlineb script:
forx [ -E | -e ] [ -p | -P maxpar ] [ -o okcodes | -x breakcodes ] variable { args... } loop...
- forx reads a
block and unquotes it.
That block contains a list of args.
- For each argument x in args...,
forx runs loop as a child process, with
variable=x added to its environment.
- forx then exits 0.
Options
- -o okcodes : okcodes must
be a comma-separated list of exit codes. If
loop exits with one of the codes in okcodes,
forx will run the following instances of the loop, but if the exit code is
not listed in okcodes, forx will exit immediately with an
approximation of the same exit code.
- -x breakcodes : like the previous
option, but with inverted meaning - the listed exit codes are codes
that will make forx break the loop and exit, and the unlisted exit
codes will make it keep looping.
- -p : run in parallel. Do not wait for an instance of
loop... to exit before spawning the next one. forx
will still wait for all instances of loop to terminate before
exiting 0. If the -o option has been given, forx
will exit 0 if all of the exit codes are in the values listed in the okcodes
list, else it will exit 1. If the -x option has been given,
forx will exit 0 if none of the exit codes are in the values
listed in the breakcodes list, else it will exit 1.
- -e : no autoimport. This is the default.
- -E : autoimport. Instead of spawning
loop..., spawn importas -uSi variable
loop.... This substitutes variable into the command
line instead of putting it into the environment.
- -P maxpar : similar to -p, but run
up to maxpar instances in parallel, i.e. never have more than maxpar
children at the same time. Minimum is 1.