summaryrefslogtreecommitdiffstats
path: root/bin/sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/sh')
-rw-r--r--bin/sh/eval.c1
-rw-r--r--bin/sh/sh.14
2 files changed, 5 insertions, 0 deletions
diff --git a/bin/sh/eval.c b/bin/sh/eval.c
index a26f36d..7ceaa94 100644
--- a/bin/sh/eval.c
+++ b/bin/sh/eval.c
@@ -367,6 +367,7 @@ evalcase(union node *n, int flags)
setstackmark(&smark);
arglist.lastp = &arglist.list;
oexitstatus = exitstatus;
+ exitstatus = 0;
expandarg(n->ncase.expr, &arglist, EXP_TILDE);
for (cp = n->ncase.cases ; cp && evalskip == 0 ; cp = cp->nclist.next) {
for (patp = cp->nclist.pattern ; patp ; patp = patp->narg.next) {
diff --git a/bin/sh/sh.1 b/bin/sh/sh.1
index 75d243c..10cd607 100644
--- a/bin/sh/sh.1
+++ b/bin/sh/sh.1
@@ -861,6 +861,10 @@ described later),
separated by
.Dq Li \&|
characters.
+The exit code of the
+.Ic case
+command is the exit code of the last command executed in the list or
+zero if no patterns were matched.
.Ss Grouping Commands Together
Commands may be grouped by writing either
.Bd -literal -offset indent
OpenPOWER on IntegriCloud