sh: Sync with FreeBSD:
[dragonfly.git] / tools / regression / bin / sh / builtins / var-assign2.0
1 # $FreeBSD: head/tools/regression/bin/sh/builtins/var-assign2.0 213738 2010-10-12 18:20:38Z obrien $
2 IFS=,
3
4 SPECIAL="break,\
5         :,\
6         continue,\
7         . /dev/null,\
8         eval,\
9         exec,\
10         export -p,\
11         readonly -p,\
12         set,\
13         shift 0,\
14         times,\
15         trap,\
16         unset foo"
17
18 UTILS="alias,\
19         bg,\
20         bind,\
21         cd,\
22         command echo,\
23         echo,\
24         false,\
25         fc -l,\
26         fg,\
27         getopts a var,\
28         hash,\
29         jobs,\
30         printf a,\
31         pwd,\
32         read var < /dev/null,\
33         test,\
34         true,\
35         type ls,\
36         ulimit,\
37         umask,\
38         unalias -a,\
39         wait"
40
41 set -e
42
43 # With 'command', variable assignments do not affect the shell environment.
44
45 set -- ${SPECIAL}
46 for cmd in "$@"
47 do
48         ${SH} -c "VAR=0; VAR=1 command ${cmd}; exit \${VAR}" >/dev/null 2>&1
49 done
50
51 set -- ${UTILS}
52 for cmd in "$@"
53 do
54         ${SH} -c "VAR=0; VAR=1 command ${cmd}; exit \${VAR}" >/dev/null 2>&1
55 done