I know bash has a >>
operator, to append output to files, but what is the use of the <<
operator?
Asked
Active
Viewed 3,476 times
7

Stefano Palazzo
- 86,783
2 Answers
8
Use
info bash
and then search (type '/' followed by '<<') .
Here's a partial quote:
Here Documents
This type of redirection instructs the shell to read input from the
current source until a line containing only delimiter (with no trailing
blanks) is seen. All of the lines read up to that point are then used
as the standard input for a command.
The format of here-documents is:
<<[-]word
here-document
delimiter
No parameter expansion, command substitution, arithmetic expansion, or
pathname expansion is performed on word. If any characters in word are
quoted, the delimiter is the result of quote removal on word, and the
lines in the here-document are not expanded. If word is unquoted, all
lines of the here-document are subjected to parameter expansion, com‐
mand substitution, and arithmetic expansion. In the latter case, the
character sequence \<newline> is ignored, and \ must be used to quote
the characters \, $, and `.
If the redirection operator is <<-, then all leading tab characters are
stripped from input lines and the line containing delimiter. This
allows here-documents within shell scripts to be indented in a natural
fashion.
Here Strings
A variant of here documents, the format is:
<<<word
The word is expanded and supplied to the command on its standard input. [...]

belacqua
- 23,120
2
$ cat <<EOF
> This is a test
> EOF
This is a test
$

zpletan
- 3,373
-
Why did this get a down-vote? (I'd be nice to leave a comment when you down-vote, explaining what the problem is, so that we can fix it) – Stefano Palazzo Jan 14 '11 at 23:18
-
2-1: It's certainly not wrong, but this answer does not explain anything (it's like a "Yes/No" answer). Stefano Palazzo surely gets the idea from this example, but what about different users with the same or a similar question? – htorque Jan 15 '11 at 09:14