Có thể chèn một heredoc bên trong một hàm bash?
Mẫu tầm thường dưới đây dẫn đến một lỗi: ./heredoc_in_function.sh: 10: Syntax error: end of file unexpected (expecting "}")
#!/bin/sh
my_function () {
cat <<HEREDOC
heredoc contents
HEREDOC
}
my_function
Môi trường:
- Ubuntu 11.04 (GNU / Linux 2.6,38-8-máy chủ x86_64)
- GNU bash, phiên bản 4.2.8 (1) -release (x86_64-pc-linux-gnu)
Tôi đã có ấn tượng rằng heredoc là một thứ Perl. Có bất kỳ lý do để tin rằng nó sẽ hoạt động trong BASH?
—
jdw
@jdw, ở đây tài liệu có mặt ở nhiều ngôn ngữ bao gồm cả bash.
—
Zoredache
Tôi thấy điều đó bây giờ. Mát mẻ.
—
jdw