1*13de33a5SJulio MerinoIFS=, 2*13de33a5SJulio Merino 3*13de33a5SJulio MerinoSPECIAL="break,\ 4*13de33a5SJulio Merino :,\ 5*13de33a5SJulio Merino continue,\ 6*13de33a5SJulio Merino . /dev/null,\ 7*13de33a5SJulio Merino eval,\ 8*13de33a5SJulio Merino exec,\ 9*13de33a5SJulio Merino export -p,\ 10*13de33a5SJulio Merino readonly -p,\ 11*13de33a5SJulio Merino set,\ 12*13de33a5SJulio Merino shift 0,\ 13*13de33a5SJulio Merino times,\ 14*13de33a5SJulio Merino trap,\ 15*13de33a5SJulio Merino unset foo" 16*13de33a5SJulio Merino 17*13de33a5SJulio Merinoset -e 18*13de33a5SJulio Merino 19*13de33a5SJulio Merino# Check that special builtins can be executed via "command". 20*13de33a5SJulio Merino 21*13de33a5SJulio Merinoset -- ${SPECIAL} 22*13de33a5SJulio Merinofor cmd in "$@" 23*13de33a5SJulio Merinodo 24*13de33a5SJulio Merino ${SH} -c "v=:; while \$v; do v=false; command ${cmd}; done" >/dev/null 25*13de33a5SJulio Merinodone 26*13de33a5SJulio Merino 27*13de33a5SJulio Merinowhile :; do 28*13de33a5SJulio Merino command break 29*13de33a5SJulio Merino echo Error on line $LINENO 30*13de33a5SJulio Merinodone 31*13de33a5SJulio Merino 32*13de33a5SJulio Merinoset p q r 33*13de33a5SJulio Merinocommand shift 2 34*13de33a5SJulio Merinoif [ $# -ne 1 ]; then 35*13de33a5SJulio Merino echo Error on line $LINENO 36*13de33a5SJulio Merinofi 37*13de33a5SJulio Merino 38*13de33a5SJulio Merino( 39*13de33a5SJulio Merino command exec >/dev/null 40*13de33a5SJulio Merino echo Error on line $LINENO 41*13de33a5SJulio Merino) 42*13de33a5SJulio Merino 43*13de33a5SJulio Merinoset +e 44*13de33a5SJulio Merino! command shift 2 2>/dev/null 45