mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-17 05:43:59 +00:00
Test that variable assignments preceding special built-ins affect the current
shell environment, eg after "VAR=val eval" VAR remains set. Currently fails but will be implemented soon.
This commit is contained in:
parent
df75593684
commit
8af87209e3
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=157600
55
tools/regression/bin/sh/builtins/var-assign.0
Normal file
55
tools/regression/bin/sh/builtins/var-assign.0
Normal file
|
@ -0,0 +1,55 @@
|
|||
# $FreeBSD$
|
||||
IFS=,
|
||||
|
||||
SPECIAL="break,\
|
||||
:,\
|
||||
continue,\
|
||||
. /dev/null,
|
||||
eval,
|
||||
exec,
|
||||
export -p,
|
||||
readonly -p,
|
||||
set,
|
||||
shift 0,
|
||||
times,
|
||||
trap,
|
||||
unset foo"
|
||||
|
||||
UTILS="alias,\
|
||||
bg,\
|
||||
bind,\
|
||||
cd,\
|
||||
command echo,\
|
||||
echo,\
|
||||
false,\
|
||||
fc -l,\
|
||||
fg,\
|
||||
getopts a var,\
|
||||
hash,\
|
||||
jobs,\
|
||||
printf a,\
|
||||
pwd,\
|
||||
read var < /dev/null,\
|
||||
test,\
|
||||
true,\
|
||||
type ls,\
|
||||
ulimit,\
|
||||
umask,\
|
||||
unalias -a,\
|
||||
wait"
|
||||
|
||||
set -e
|
||||
|
||||
# For special built-ins variable assignments affect the shell environment.
|
||||
set -- ${SPECIAL}
|
||||
for cmd in "$@"
|
||||
do
|
||||
sh -c "VAR=1; VAR=0 ${cmd}; exit \${VAR}" >/dev/null 2>&1
|
||||
done
|
||||
|
||||
# For other built-ins and utilites they do not.
|
||||
set -- ${UTILS}
|
||||
for cmd in "$@"
|
||||
do
|
||||
sh -c "VAR=0; VAR=1 ${cmd}; exit \${VAR}" >/dev/null 2>&1
|
||||
done
|
Loading…
Reference in a new issue