diff --git a/bin/sh/eval.c b/bin/sh/eval.c index a50c53fdcb90..404de3312182 100644 --- a/bin/sh/eval.c +++ b/bin/sh/eval.c @@ -165,7 +165,7 @@ evalstring(char *s, int flags) setstackmark(&smark); setinputstring(s, 1); while ((n = parsecmd(0)) != NEOF) { - if (n != NULL) { + if (n != NULL && !nflag) { if (flags_exit && preadateof()) evaltree(n, flags | EV_EXIT); else diff --git a/tools/regression/bin/sh/execution/set-n4.0 b/tools/regression/bin/sh/execution/set-n4.0 new file mode 100644 index 000000000000..36985084b26b --- /dev/null +++ b/tools/regression/bin/sh/execution/set-n4.0 @@ -0,0 +1,3 @@ +# $FreeBSD$ + +$SH -nc 'echo bad'