xref: /freebsd/bin/sh/tests/builtins/var-assign.0 (revision 13de33a5dc2304b13d595d75d48c51793958474f)
1*13de33a5SJulio Merino# $FreeBSD$
2*13de33a5SJulio MerinoIFS=,
3*13de33a5SJulio Merino
4*13de33a5SJulio MerinoSPECIAL="break,\
5*13de33a5SJulio Merino	:,\
6*13de33a5SJulio Merino	continue,\
7*13de33a5SJulio Merino	. /dev/null,
8*13de33a5SJulio Merino	eval,
9*13de33a5SJulio Merino	exec,
10*13de33a5SJulio Merino	export -p,
11*13de33a5SJulio Merino	readonly -p,
12*13de33a5SJulio Merino	set,
13*13de33a5SJulio Merino	shift 0,
14*13de33a5SJulio Merino	times,
15*13de33a5SJulio Merino	trap,
16*13de33a5SJulio Merino	unset foo"
17*13de33a5SJulio Merino
18*13de33a5SJulio MerinoUTILS="alias,\
19*13de33a5SJulio Merino	bg,\
20*13de33a5SJulio Merino	bind,\
21*13de33a5SJulio Merino	cd,\
22*13de33a5SJulio Merino	command echo,\
23*13de33a5SJulio Merino	echo,\
24*13de33a5SJulio Merino	false,\
25*13de33a5SJulio Merino	fc -l,\
26*13de33a5SJulio Merino	fg,\
27*13de33a5SJulio Merino	getopts a var,\
28*13de33a5SJulio Merino	hash,\
29*13de33a5SJulio Merino	jobs,\
30*13de33a5SJulio Merino	printf a,\
31*13de33a5SJulio Merino	pwd,\
32*13de33a5SJulio Merino	read var < /dev/null,\
33*13de33a5SJulio Merino	test,\
34*13de33a5SJulio Merino	true,\
35*13de33a5SJulio Merino	type ls,\
36*13de33a5SJulio Merino	ulimit,\
37*13de33a5SJulio Merino	umask,\
38*13de33a5SJulio Merino	unalias -a,\
39*13de33a5SJulio Merino	wait"
40*13de33a5SJulio Merino
41*13de33a5SJulio Merinoset -e
42*13de33a5SJulio Merino
43*13de33a5SJulio Merino# For special built-ins variable assignments affect the shell environment.
44*13de33a5SJulio Merinoset -- ${SPECIAL}
45*13de33a5SJulio Merinofor cmd in "$@"
46*13de33a5SJulio Merinodo
47*13de33a5SJulio Merino	${SH} -c "VAR=1; VAR=0 ${cmd}; exit \${VAR}" >/dev/null 2>&1
48*13de33a5SJulio Merinodone
49*13de33a5SJulio Merino
50*13de33a5SJulio Merino# For other built-ins and utilites they do not.
51*13de33a5SJulio Merinoset -- ${UTILS}
52*13de33a5SJulio Merinofor cmd in "$@"
53*13de33a5SJulio Merinodo
54*13de33a5SJulio Merino	${SH} -c "VAR=0; VAR=1 ${cmd}; exit \${VAR}" >/dev/null 2>&1
55*13de33a5SJulio Merinodone
56