# check order and content of multiple here docs cat << EOF1 << EOF2 hi EOF1 there EOF2 while read line1; do read line2 <&3 echo $line1 - $line2 done < /tmp/bash-zzz << EOF abc EOF cat >> /tmp/bash-zzz << EOF def ghi jkl mno EOF cat /tmp/bash-zzz rm -f /tmp/bash-zzz # make sure command printing puts the here-document as the last redirection # on the line, and the function export code preserves syntactic correctness fff() { ed /tmp/foo </dev/null /^name/d w q ENDOFINPUT aa=1 } type fff export -f fff ${THIS_SH} -c 'type fff' # check that end of file delimits a here-document # THIS MUST BE LAST! cat << EOF hi there