]>
Commit | Line | Data |
---|---|---|
a0c0a00f CR |
1 | SAVEPWD=$PWD |
2 | cd $TMPDIR || echo "heredoc3.sub: cannot cd to $TMPDIR" >&2 | |
3 | ||
ac50fbac CR |
4 | text=$(cat <<EOF |
5 | here is the text | |
6 | EOF) | |
7 | ||
8 | echo = $text = | |
9 | ||
10 | unbalanced=$(cat <<EOF | |
11 | this paren ) is not a problem | |
12 | EOF) | |
13 | ||
14 | echo $unbalanced | |
15 | ||
16 | balanced=$(cat <<EOF | |
17 | these balanced parens ( ) are not a problem | |
18 | EOF) | |
19 | ||
20 | echo $balanced | |
21 | ||
22 | balanced=$(cat <<EOF | |
23 | quoted balanced parens \( ) are not a problem either | |
24 | EOF) | |
25 | ||
26 | echo $balanced | |
27 | ||
28 | (cat <<EOF | |
29 | more text in a subshell | |
30 | EOF | |
31 | ) | |
32 | ||
33 | (cat <<EOF; ) | |
34 | some more text in a different subshell | |
35 | EOF | |
36 | echo end | |
37 | ||
38 | # semi-weird examples posted by Wayne Pollack to austin-group mailing list | |
39 | cat <<-' END' | |
40 | hello | |
41 | END | |
42 | ||
43 | cat <<END | |
44 | hello | |
45 | END\ | |
46 | END | |
47 | END | |
48 | echo end ENDEND | |
49 | ||
50 | cat <<' END ' | |
51 | hello | |
52 | END | |
53 | echo end hello | |
54 | ||
a0c0a00f | 55 | cat <<x*x >/dev/null & touch 'x*x' |
ac50fbac CR |
56 | x star x |
57 | x*x | |
a0c0a00f | 58 | wait $! |
ac50fbac CR |
59 | echo end 'x*x' |
60 | rm 'x*x' | |
61 | ||
62 | cat <<END | |
63 | hello\ | |
64 | END | |
65 | END | |
66 | echo end helloEND | |
67 | ||
68 | cat <<END | |
69 | hello | |
70 | \END | |
71 | END | |
72 | echo end 'hello<NL>\END' | |
73 | ||
74 | # this has to be last -- results in a syntax error | |
75 | # doesn't currently parse because EOF is not on a line by itself -- should it? | |
76 | (cat <<EOF | |
77 | still more text in a subshell | |
78 | EOF) |