1# $FreeBSD$ 2set -e 3trap 'echo Broken pipe -- test failed' PIPE 4 5P=${TMPDIR:-/tmp} 6cd $P 7T=$(mktemp -d sh-test.XXXXXX) 8cd $T 9 10mkfifo input output error 11ENV= HISTFILE=/dev/null ${SH} +m -i <input >output 2>error & 12{ 13 # Syntax error 14 echo ')' >&3 15 # Read error message, shell will read new input now 16 read dummy <&5 17 # Execute bad command again 18 echo 'fc -e true' >&3 19 # Verify that the shell is still running 20 echo 'echo continued' >&3 || rc=3 21 echo 'exit' >&3 || rc=3 22 read line <&4 && [ "$line" = continued ] && : ${rc:=0} 23} 3>input 4<output 5<error 24 25rm input output error 26rmdir ${P}/${T} 27exit ${rc:-3} 28