2012-10-19 wcdj
在bash脚本中的使用方法:
: << InputComesFromHERE
There are
more lines
in this bash file
InputComesFromHERE
Example. Multi-line message using cat
#!/bin/bash # 'echo' is fine for printing single line messages, #+ but somewhat problematic for for message blocks. # A 'cat' here document overcomes this limitation. cat <<End-of-message ------------------------------------- This is line 1 of the message. This is line 2 of the message. This is line 3 of the message. This is line 4 of the message. This is the last line of the message. ------------------------------------- End-of-message # Replacing line 7, above, with #+ cat > $Newfile <<End-of-message #+ ^^^^^^^^^^ #+ writes the output to the file $Newfile, rather than to stdout. exit 0 #-------------------------------------------- # Code below disabled, due to "exit 0" above. # S.C. points out that the following also works. echo "------------------------------------- This is line 1 of the message. This is line 2 of the message. This is line 3 of the message. This is line 4 of the message. This is the last line of the message. -------------------------------------" # However, text may not include double quotes unless they are escaped.
A here document is a special-purpose code block. It uses a form of I/O redirection to feed a command list to an interactive program or a command, such as ftp, cat, or the ex text editor.
COMMAND <<InputComesFromHERE
...
...
...
InputComesFromHERE
注意:
(1) Here Documents的更多使用方法可以参考这里 http://tldp.org/LDP/abs/html/here-docs.html
(2) : 是空命令,结合Here Documents在bash脚本中使用就相当于注释了。