execline
Software
skarnet.org
The tryexec program
tryexec executes into a command line, with a fallback.
Interface
In an execlineb script:
tryexec [ -n ] [ -c ] [ -l ] [ -a argv0 ] { prog1... } prog2...
- tryexec reads prog1... in a
block. It then executes into it,
completely forgetting prog2...
- If for some reason the execve() fails - for instance,
a non-executable prog1 - then tryexec executes
into prog2... instead.
Options
- -n : reverse prog1... and prog2...'s
role. The latter becomes the main execution path and the former becomes
the fallback.
The -c, -l and -a options have the same
semantics as with the exec program.
Notes
- tryexec prog1... "" prog2... would be
equivalent to
sh -c 'exec prog1... || exec prog2...', if
such a shell construct existed. Unfortunately, the shell language does
not offer that functionality.