diff options
-rw-r--r-- | doc/execlineb.html | 10 | ||||
-rw-r--r-- | src/execline/execlineb.c | 5 |
2 files changed, 11 insertions, 4 deletions
diff --git a/doc/execlineb.html b/doc/execlineb.html index f9d3e4d..ff9fe5c 100644 --- a/doc/execlineb.html +++ b/doc/execlineb.html @@ -27,7 +27,7 @@ then executes into that command line. <h2> Interface </h2> <pre> - execlineb [ -q | -w | -W ] [ -p | -P | -S <em>nmin</em> | -s <em>nmin</em> ] -c <em>script</em> [ <em>args...</em> ] + execlineb [ -q | -w | -W ] [ -p | -P | -S <em>nmin</em> | -s <em>nmin</em> ] [ -e ] -c <em>script</em> [ <em>args...</em> ] </pre> <p> @@ -35,7 +35,7 @@ or </p> <pre> - execlineb [ -q | -w | -W ] [ -p | -P | -S <em>nmin</em> | -s <em>nmin</em> ] <em>scriptfile</em> [ <em>args...</em> ] + execlineb [ -q | -w | -W ] [ -p | -P | -S <em>nmin</em> | -s <em>nmin</em> ] [ -e ] <em>scriptfile</em> [ <em>args...</em> ] </pre> <p> @@ -100,6 +100,12 @@ not stay in memory like a traditional <em>interpreter</em> would. </li> <h2> Options </h2> <ul> + <li> <tt>-e</tt> : this option is ignored. This is meant to support +the use of execlineb in conjuction with programs that invoke +<tt>$SHELL -ec <em>script</em></tt>; the effect of <tt>/bin/sh -e</tt> +can be natively replicated in execline scripts if you use the +<a href="if.html">if</a> command instead of the +<a href="foreground.html">foreground</a> command. </li> <li> <tt>-c <em>script</em></tt> : execute <em>script</em>, do not look for a file. </li> </ul> diff --git a/src/execline/execlineb.c b/src/execline/execlineb.c index 89688f6..5b081a0 100644 --- a/src/execline/execlineb.c +++ b/src/execline/execlineb.c @@ -18,7 +18,7 @@ #include <execline/execline.h> #include "exlsn.h" -#define USAGE "execlineb [ -p | -P | -S nmin | -s nmin ] [ -q | -w | -W ] [ -c commandline ] script args" +#define USAGE "execlineb [ -p | -P | -S nmin | -s nmin ] [ -q | -w | -W ] [ -e ] [ -c commandline ] script args" static int myexlp (stralloc *sa, char const *const *argv, unsigned int argc, unsigned int nmin, char const *dollar0, int doshift) { @@ -83,7 +83,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt l = SUBGETOPT_ZERO ; for (;;) { - int opt = subgetopt_r(argc, argv, "pPqwWc:S:s:", &l) ; + int opt = subgetopt_r(argc, argv, "pPqwWec:S:s:", &l) ; if (opt == -1) break ; switch (opt) { @@ -93,6 +93,7 @@ int main (int argc, char const *const *argv, char const *const *envp) case 'w' : flagstrict = 1 ; break ; case 'W' : flagstrict = 2 ; break ; case 'c' : stringarg = l.arg ; break ; + case 'e' : break ; case 'S' : case 's' : { |