xref: /freebsd/bin/sh/tests/builtins/fc1.0 (revision d0b2dbfa)
113de33a5SJulio Merinoset -e
213de33a5SJulio Merinotrap 'echo Broken pipe -- test failed' PIPE
313de33a5SJulio Merino
413de33a5SJulio MerinoP=${TMPDIR:-/tmp}
513de33a5SJulio Merinocd $P
613de33a5SJulio MerinoT=$(mktemp -d sh-test.XXXXXX)
713de33a5SJulio Merinocd $T
813de33a5SJulio Merino
913de33a5SJulio Merinomkfifo input output error
10a1423456SPiotr Pawel StefaniakENV= HISTFILE=/dev/null ${SH} +m -i <input >output 2>error &
1113de33a5SJulio Merino{
1213de33a5SJulio Merino	# Syntax error
1313de33a5SJulio Merino	echo ')' >&3
1413de33a5SJulio Merino	# Read error message, shell will read new input now
1513de33a5SJulio Merino	read dummy <&5
1613de33a5SJulio Merino	# Execute bad command again
1713de33a5SJulio Merino	echo 'fc -e true' >&3
1813de33a5SJulio Merino	# Verify that the shell is still running
1913de33a5SJulio Merino	echo 'echo continued' >&3 || rc=3
2013de33a5SJulio Merino	echo 'exit' >&3 || rc=3
2113de33a5SJulio Merino	read line <&4 && [ "$line" = continued ] && : ${rc:=0}
2213de33a5SJulio Merino} 3>input 4<output 5<error
2313de33a5SJulio Merino
2413de33a5SJulio Merinorm input output error
2513de33a5SJulio Merinormdir ${P}/${T}
2613de33a5SJulio Merinoexit ${rc:-3}
27