Правильное текстовое имя для

Правильное текстовое имя для

Я только что наткнулся на <<команду, которая используется следующим образом:

cat > outfile.txt <<EOF
Multi-line content
that will be written to outfile.txt
EOF

Теперь, я понятия не имею, как это называется, но я бы очень хотел узнать его название, в первую очередь, чтобы я мог пойти и поискать и узнать больше о его синтаксисе. К сожалению, поиск в Google по запросу "<<" просто не работает.

решение1

Это называется «Документ здесь».

http://en.wikipedia.org/wiki/Здесь_документ

решение2

Это форма перенаправления, называемаяздесь документилихередок. Он перенаправляет содержимое указанного встроенного документа в команду. Документ ограничивается указанным словом ( EOTниже). Кавычки слова или части слова после <<создают кавычки here-документа, в котором оболочка не будет выполнять расширения.

$ tac << EOT
> 123
> 456
> EOT
456
123

решение3

В контексте Unix это действительно известно как "heredoc" (встроенный документ). Я считаю, что конструкция "heredoc" пришла из PHP, Perl и других языков сценариев, а для сценариев оболочки я бы предпочел придерживаться "heredoc" (встроенный документ).

Связанный контент