Переведите вопрос: "Redirection vs. command line substitution in heredocs". Пожалуйста, сделайте это на русском языке и уложитесь в 230 символов

Здравствуйте! Я прохожу курс “от 0 до Linux админа” вот здесь https://yodo.im/courses/linux/?v=1d20b5ff1ee9, и у меня возникла проблема с пониманием разницы между редиректом и подстановкой команд в heredocs.

Я заметил, что у heredocs два различных поведения: в случае редиректа он происходит на открывающей строке, а в случае подстановки команд — после закрывающего маркера. Например, в первом случае, когда я использую:

cat <<EOL > heredoc.txt
Line 1: This is the first line of text.
Line 2: This is the second line of text.
Line 3: This is the third line of text.
EOL

Редирект в heredoc.txt осуществляется на первой строке команды, прежде чем будут записаны содержимое heredoc.

А вот во втором случае подстановка происходит уже после завершения heredoc:

tempvar=$(cat <<EOL
Line 1: This is the first line of text.
Line 2: This is the second line of text.
Line 3: This is the third line of text.
EOL
)

Мне не совсем понятно, почему закрытие подстановки команд происходит позже, чем редирект. Почему не должно происходить так же, как с редиректом, где все происходит на открывающей строке?

Буду признателен за пояснение!

Спасибо за ответ! Вопрос: “Перенаправление против подстановки команд в heredoc”. У меня всё получилось!