xref: /freebsd/bin/sh/tests/builtins/var-assign.0 (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
113de33a5SJulio MerinoIFS=,
213de33a5SJulio Merino
313de33a5SJulio MerinoSPECIAL="break,\
413de33a5SJulio Merino	:,\
513de33a5SJulio Merino	continue,\
613de33a5SJulio Merino	. /dev/null,
713de33a5SJulio Merino	eval,
813de33a5SJulio Merino	exec,
913de33a5SJulio Merino	export -p,
1013de33a5SJulio Merino	readonly -p,
1113de33a5SJulio Merino	set,
1213de33a5SJulio Merino	shift 0,
1313de33a5SJulio Merino	times,
1413de33a5SJulio Merino	trap,
1513de33a5SJulio Merino	unset foo"
1613de33a5SJulio Merino
1713de33a5SJulio MerinoUTILS="alias,\
1813de33a5SJulio Merino	bg,\
1913de33a5SJulio Merino	bind,\
2013de33a5SJulio Merino	cd,\
2113de33a5SJulio Merino	command echo,\
2213de33a5SJulio Merino	echo,\
2313de33a5SJulio Merino	false,\
2413de33a5SJulio Merino	fc -l,\
2513de33a5SJulio Merino	fg,\
2613de33a5SJulio Merino	getopts a var,\
2713de33a5SJulio Merino	hash,\
2813de33a5SJulio Merino	jobs,\
2913de33a5SJulio Merino	printf a,\
3013de33a5SJulio Merino	pwd,\
3113de33a5SJulio Merino	read var < /dev/null,\
3213de33a5SJulio Merino	test,\
3313de33a5SJulio Merino	true,\
3413de33a5SJulio Merino	type ls,\
3513de33a5SJulio Merino	ulimit,\
3613de33a5SJulio Merino	umask,\
3713de33a5SJulio Merino	unalias -a,\
3813de33a5SJulio Merino	wait"
3913de33a5SJulio Merino
4013de33a5SJulio Merinoset -e
4113de33a5SJulio Merino
4213de33a5SJulio Merino# For special built-ins variable assignments affect the shell environment.
4313de33a5SJulio Merinoset -- ${SPECIAL}
4413de33a5SJulio Merinofor cmd in "$@"
4513de33a5SJulio Merinodo
4613de33a5SJulio Merino	${SH} -c "VAR=1; VAR=0 ${cmd}; exit \${VAR}" >/dev/null 2>&1
4713de33a5SJulio Merinodone
4813de33a5SJulio Merino
49*6b35d82cSEitan Adler# For other built-ins and utilities they do not.
5013de33a5SJulio Merinoset -- ${UTILS}
5113de33a5SJulio Merinofor cmd in "$@"
5213de33a5SJulio Merinodo
5313de33a5SJulio Merino	${SH} -c "VAR=0; VAR=1 ${cmd}; exit \${VAR}" >/dev/null 2>&1
5413de33a5SJulio Merinodone
55