Jeff King [off-list ref] writes:
+ If <script> is `-` (a single dash), then the script to run is read
+ from stdin. This lets you more easily use single quotes within the
+ script by using a here-doc. For example:
+
+ test_expect_success 'output contains expected string' <<-\EOT
Missing '-'?
+ grep "this string has 'quotes' in it" output
+ EOT
+
...
+ # start with a newline, to match hanging newline from open-quote style
+ eval "$1=\$LF"
+ local test_line
+ while IFS= read -r test_line
+ do
+ eval "$1=\${$1}\${test_line}\${LF}"
+ done
I wonder if we can do this without relying on "read -r" (which I
distrust, perhaps out of superstition)? Perhaps by slurping the
whole thing with "$(cat)"?
Thanks.