freebsd-dev/tools/regression/bin/sh/execution/unknown1.0
Jilles Tjoelker 640b70e414 sh: Send the "xyz: not found" message to redirected fd 2.
This also fixes that trying to execute a non-regular file with a command
name without '/' returns 127 instead of 126.
The fix is rather simplistic: treat CMDUNKNOWN as if the command were found
as an external program. The resulting fork is a bit wasteful but executing
unknown commands should not be very frequent.

PR:		bin/137659
2009-10-06 22:00:14 +00:00

30 lines
694 B
Plaintext

# $FreeBSD$
nosuchtool 2>/dev/null
[ $? -ne 127 ] && exit 1
/var/empty/nosuchtool 2>/dev/null
[ $? -ne 127 ] && exit 1
(nosuchtool) 2>/dev/null
[ $? -ne 127 ] && exit 1
(/var/empty/nosuchtool) 2>/dev/null
[ $? -ne 127 ] && exit 1
/ 2>/dev/null
[ $? -ne 126 ] && exit 1
PATH=/usr bin 2>/dev/null
[ $? -ne 126 ] && exit 1
dummy=$(nosuchtool 2>/dev/null)
[ $? -ne 127 ] && exit 1
dummy=$(/var/empty/nosuchtool 2>/dev/null)
[ $? -ne 127 ] && exit 1
dummy=$( (nosuchtool) 2>/dev/null)
[ $? -ne 127 ] && exit 1
dummy=$( (/var/empty/nosuchtool) 2>/dev/null)
[ $? -ne 127 ] && exit 1
dummy=$(/ 2>/dev/null)
[ $? -ne 126 ] && exit 1
dummy=$(PATH=/usr bin 2>/dev/null)
[ $? -ne 126 ] && exit 1
exit 0