是否可以在bash函数中插入heredoc?
下面的简单示例导致错误:./heredoc_in_function.sh:10:语法错误:文件结束意外(期待“}”)
#!/bin/sh my_function () { cat <<HEREDOC heredoc contents HEREDOC } my_function
环境:
> Ubuntu 11.04(GNU / Linux 2.6.38-8-server x86_64)
> GNU bash,版本4.2.8(1)-release(x86_64-pc-linux-gnu)
你的代码对我来说很好看,所以我将它复制一行换行,它对我有用:
> OSX 10.7,bash 3.2.48(1)-release(x86_64-apple-darwin11).
> Ubuntu 10.04.3,bash 4.1.5(1)-release(x86_64-pc-linux-gnu)
您是否可以手动重新键入文件,以确保您没有丢失或添加空格/制表符等?
另外,你是如何执行它的?我做了一个chmod x test.sh然后是./test.sh
编辑:当我在关闭HEREDOC的行开头添加空格时,我收到了与您相同的错误.
进一步说明:关闭HEREDOC背后的尾随空间也可能导致此问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。