Перейти до навігації
Перейти до пошуку
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
Джерела
- http://tldp.org/LDP/abs/html/here-docs.html [Архівовано 10 серпня 2015 у Wayback Machine.]