Here-document — спеціальний блок коду. Він використовує спеціальну форму перенаправлення системи вводу-виводу для формування вхідного потоку програми, наприклад, для передачі списку команд інтерактивній програмі типу ftp, telnet або ed. Початок і кінець блоку команд позначається спеціальною позначкою, яку визначають після знаку << ". Цей знак має ефект перенаправлення виводу файлу в стандартний потік stdin програми чи команди.

Схематично here-document виглядає так:

interactive-program << EndOfFile_label
command 1
command 2
...
EndOfFile_label

Приклад використання Here-document для роботи з ftp:

#!/bin/bash

Filename=`basename $1`
Server="some.support.org"
Directory="/work/directory"
Password="some_good_password"

ftp -n $Server <<EOF

user anonymous "$Password" # або іноді треба використати
                           # quote user anonymous "$Password"
binary
bell
cd $Directory
put "$Filename.tar.gz"
bye
EOF

exit 0

Джерела ред.