gotest: avoid using echo inside $()

The handling of newlines is not portable between bash and ksh.

Change-Id: I31cf57c9b2bcf98e8390ab92b75565a6798872de
Reviewed-on: https://go-review.googlesource.com/c/164597
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/libgo/testsuite/gotest b/libgo/testsuite/gotest
index 06000ea..c9c1465 100755
--- a/libgo/testsuite/gotest
+++ b/libgo/testsuite/gotest
@@ -619,21 +619,25 @@
 		    # Turn pairs of spaces into " \x20", because $() will
 		    # drop duplicate spaces.
 		    # Drop trailing spaces, and turn newlines into \n.
-		    output="$(sed '1 s/\([Uu]nordered \)\?[Oo]utput:[ 	]*//' < example.txt |
+		    # Remove leading and trailing \n.
+		    sed '1 s/\([Uu]nordered \)\?[Oo]utput:[ 	]*//' < example.txt |
 				 sed -e 's/\\/\\\\/g' \
 				     -e 's/"/\\"/g' \
 				     -e 's/	/\\t/g' \
 				     -e 's/  / \\x20/g' \
 				     -e 's/[ 	]*$/\\n/g' |
-				 tr -d '\n')"
-		    # Remove leading and trailing \n.
-		    output="$(echo "$output" | sed -e 's/^\(\\n\)*//' -e 's/\(\\n\)*$//')"
+				 tr -d '\n' |
+				 sed -e 's/^\(\\n\)*//' \
+				     -e 's/\(\\n\)*$//' > example2.txt
 		    hasoutput=true
 		    rm -f example.txt
 		    break
 		done
 		if test x$hasoutput = xtrue; then
-		    echo '	{"'$n'", '$j', "'"$output"'", '$unordered'},'
+		    echo '	{"'$n'", '$j','
+		    sed -e 's/^/		"/' -e 's/$/", /' < example2.txt
+		    echo $unordered'},'
+		    rm -f example2.txt
 		fi
 	done
 	echo '}'