Literal Here Doc
When shell encounters the syntax << 'delimiter' or << "delimiter", it starts creating a multi-line buffer using these rules:
A line containing exactly
delimiterends the contentsEscape sequences are not expanded (e.g.,
\tis not translated into a literalTAB)Variables are not expanded (e.g.,
$fooremains$foo)Command substitutions are not performed (e.g.,
$(date)and`date`remain unchanged)
The buffer created is sent as stdin to the program of your choice. For example:
1 #!/bin/sh
2 cat << 'EOF'
3 $bird $(is) `\t\h\e` ${word}
4 EOFProduces:
$bird $(is) `\t\h\e` ${word}Last updated
Was this helpful?