blob: b3cdc3f7b437d0db67b8fd9329df5645da7bd0a3 [file] [log] [blame]
Denis Vlasenko9431e562007-03-05 21:08:29 +00001# check order and content of multiple here docs
2
Denis Vlasenkoc86e0522007-03-20 11:30:28 +00003cat << EOF1 << EOF2
Denis Vlasenko9431e562007-03-05 21:08:29 +00004hi
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