它可以在eof中从外部调用函数吗?

Can it call a function from outside in eof?

我用这种方式尝试了$(hello)${hello},但是没有得到任何成功的结果。

hello(){
print "Hey I m Here"
 
}
# test
cat -e <<EOF

   
    # hello ?
    hello
EOF

假设这是 bash,命令替换应该有效:$(hello)

但是,“打印”将不起作用。将其更改为“printf”或“echo”。

bash-3.2$ cat doit.sh
hello(){
printf "Hey I m Here"
 
}
# test
cat -e <<EOF
    # hello ?
    $(hello)
EOF

bash-3.2$ . ./doit.sh
    # hello ?$
    Hey I m Here$