] Это потому, что создание гигантской строки и передача ее в качестве аргумента - это не то, что делают "здесь документы". Они создают поток, который может быть связан с вводом некоторого задания.[
] []Конкретно,[
] [cat <<!
foo
!
]
[]не эквивалентен[
] [cat foo
]
[].[
] []Говоря о []cat[
], это может нам помочь. Внимание: []не[] бесполезно использовать []cat[
] следующим образом![
echo $(cat <<!
foo
!
)
]
[]Смотрите, мы []можем [] передать здесь документ в качестве аргумента, благодаря замене команды, примененной к []cat[
], которая была подана сюда документом.[