Можно ли вставить Heredoc внутри функции bash?
Тривиальный пример ниже приводит к ошибке: ./heredoc_in_function.sh: 10: Syntax error: end of file unexpected (expecting "}")
#!/bin/sh
my_function () {
cat <<HEREDOC
heredoc contents
HEREDOC
}
my_function
Окружающая среда:
Мне ваш код понравился, поэтому я скопировал его строку за строкой, и у меня это сработало:
Можно ли перепечатать файл вручную, чтобы убедиться, что вы не пропустили или не добавили пробелов / вкладок / и т. Д.?
Кроме того, как вы это выполняете? Я сделал chmod +x test.sh
а потом ./test.sh
РЕДАКТИРОВАТЬ: Я получил ту же ошибку, что и вы, когда добавил пробел в начале строки с закрывающим HEREDOC.
Дополнительное примечание: конечный пробел за закрывающим HEREDOC
также может вызвать это