sh: Use PATH= assignment in type.
Example: PATH=/var/empty; PATH=/bin type ls
This commit is contained in:
parent
06a8a57f82
commit
0fb60646df
@ -838,5 +838,5 @@ typecmd_impl(int argc, char **argv, int cmd, const char *path)
|
||||
int
|
||||
typecmd(int argc, char **argv)
|
||||
{
|
||||
return typecmd_impl(argc, argv, TYPECMD_TYPE, pathval());
|
||||
return typecmd_impl(argc, argv, TYPECMD_TYPE, bltinlookup("PATH", 1));
|
||||
}
|
||||
|
26
tools/regression/bin/sh/builtins/type2.0
Normal file
26
tools/regression/bin/sh/builtins/type2.0
Normal file
@ -0,0 +1,26 @@
|
||||
# $FreeBSD$
|
||||
|
||||
failures=0
|
||||
|
||||
check() {
|
||||
if ! eval "$*"; then
|
||||
echo "Failed: $*"
|
||||
: $((failures += 1))
|
||||
fi
|
||||
}
|
||||
|
||||
check 'PATH=/libexec type ld-elf.so.1 >/dev/null'
|
||||
check '! PATH=/libexec type ls 2>/dev/null'
|
||||
|
||||
PATH=/libexec:$PATH
|
||||
|
||||
check 'type ld-elf.so.1 >/dev/null'
|
||||
|
||||
PATH=/libexec
|
||||
|
||||
check 'type ld-elf.so.1 >/dev/null'
|
||||
check '! type ls 2>/dev/null'
|
||||
check 'PATH=/bin type ls >/dev/null'
|
||||
check '! PATH=/bin type ld-elf.so.1 2>/dev/null'
|
||||
|
||||
exit $((failures > 0))
|
Loading…
x
Reference in New Issue
Block a user