1# check order and content of multiple here docs 2 3cat << EOF1 << EOF2 4hi 5EOF1 6there 7EOF2 8 9while read line1; do 10 read line2 <&3 11 echo $line1 - $line2 12done <<EOF1 3<<EOF2 13one 14two 15three 16EOF1 17alpha 18beta 19gamma 20EOF2 21 22 23# check quoted here-doc is protected 24 25a=foo 26cat << 'EOF' 27hi\ 28there$a 29stuff 30EOF 31 32# check that quoted here-documents don't have \newline processing done 33 34cat << 'EOF' 35hi\ 36there 37EO\ 38F 39EOF 40true 41 42# check that \newline is removed at start of here-doc 43cat << EO\ 44F 45hi 46EOF 47 48#ash# # check that \newline removal works for here-doc delimiter 49#ash# cat << EOF 50#ash# hi 51#ash# EO\ 52#ash# F 53 54# check operation of tab removal in here documents 55cat <<- EOF 56 tab 1 57 tab 2 58 tab 3 59 EOF 60 61# check appending of text to file from here document 62rm -f /tmp/bash-zzz 63cat > /tmp/bash-zzz << EOF 64abc 65EOF 66cat >> /tmp/bash-zzz << EOF 67def ghi 68jkl mno 69EOF 70cat /tmp/bash-zzz 71rm -f /tmp/bash-zzz 72 73# make sure command printing puts the here-document as the last redirection 74# on the line, and the function export code preserves syntactic correctness 75fff() 76{ 77 ed /tmp/foo <<ENDOFINPUT >/dev/null 78/^name/d 79w 80q 81ENDOFINPUT 82aa=1 83} 84 85type fff 86#ash# export -f fff 87#ash# ${THIS_SH} -c 'type fff' 88 89# check that end of file delimits a here-document 90# THIS MUST BE LAST! 91 92cat << EOF 93hi 94there 95