Date: Fri, 25 Apr 1997 12:25:05 -0700 From: scotto@remuda.com To: FreeBSD-gnats-submit@freebsd.org Subject: bin/3388: /bin/sh doesn't return correct exit status Message-ID: <199704251925.MAA08948@popeye.remuda.com> Resent-Message-ID: <199704251930.MAA06461@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 3388
>Category: bin
>Synopsis: /bin/sh doesn't return correct exit status
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Apr 25 12:30:01 PDT 1997
>Last-Modified:
>Originator: Scott Overholser
>Organization:
>Release: FreeBSD 2.2.0-RELEASE i386
>Environment:
FreeBSD 2.2.0 systems in general
>Description:
A return in a /bin/sh script should return the exit status of the preceeding
command. /bin/sh under FreeBSD 2.2.0-R does not - it returns 0. FreeBSD
2.1.x does not exhibit this problem.
This behavior breaks many /bin/sh scripts.
>How-To-Repeat:
Execute the following commands:
$ /bin/sh
$ f()
return 78
$ g()
{
f
return
}
$ h()
{
f
}
$ f ; echo $?
78 # this is the observed result - it is correct
$ g ; echo $?
0 # this is the observed result - it is wrong. we should see 78 here
$ h ; echo $?
78 # this is the observed result - it is correct
$ exit
>Fix:
>Audit-Trail:
>Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704251925.MAA08948>
