2.11BSD/src/games/warp/UU/myread

ans='!'
while expr "X$ans" : "X!" >/dev/null; do
    read ans
    case "$ans" in
    !)
	sh
	echo " "
	echo -n "$rp "
	;;
    !*)
	set `expr "X$ans" : "X!\(.*\)$"`
	sh -c "$*"
	echo " "
	echo -n "$rp "
	;;
    esac
done
rp='Your answer:'
case "$ans" in
'') ans="$dflt";;
esac