| @@ -0,0 +1,97 @@ |
| + | # 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 <<EOF1 3<<EOF2 |
| + | one |
| + | two |
| + | three |
| + | EOF1 |
| + | alpha |
| + | beta |
| + | gamma |
| + | EOF2 |
| + | |
| + | |
| + | # check quoted here-doc is protected |
| + | |
| + | a=foo |
| + | cat << 'EOF' |
| + | hi\ |
| + | there$a |
| + | stuff |
| + | EOF |
| + | |
| + | # check that quoted here-documents don't have \newline processing done |
| + | |
| + | cat << 'EOF' |
| + | hi\ |
| + | there |
| + | EO\ |
| + | F |
| + | EOF |
| + | true |
| + | |
| + | # check that \newline is removed at start of here-doc |
| + | cat << EO\ |
| + | F |
| + | hi |
| + | EOF |
| + | |
| + | # check that \newline removal works for here-doc delimiter |
| + | cat << EOF |
| + | hi |
| + | EO\ |
| + | F |
| + | |
| + | # check operation of tab removal in here documents |
| + | cat <<- EOF |
| + | tab 1 |
| + | tab 2 |
| + | tab 3 |
| + | EOF |
| + | |
| + | # check appending of text to file from here document |
| + | rm -f /tmp/bash-zzz |
| + | cat > /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 <<ENDOFINPUT >/dev/null |
| + | /^name/d |
| + | w |
| + | q |
| + | ENDOFINPUT |
| + | aa=1 |
| + | } |
| + | |
| + | type fff |
| + | #ash# export -f fff |
| + | #ash# ${THIS_SH} -c 'type fff' |
| + | |
| + | #hush# bash warns: "here-document at line N delimited by end-of-file", |
| + | #hush# ash allows it, |
| + | #hush# hush errors out for now: |
| + | #hush# # check that end of file delimits a here-document |
| + | #hush# # THIS MUST BE LAST! |
| + | #hush# |
| + | #hush# cat << EOF |
| + | #hush# hi |
| + | #hush# there |