ubuntu – 如何在bash函数中使用heredoc?

前端之家收集整理的这篇文章主要介绍了ubuntu – 如何在bash函数中使用heredoc?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以在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背后的尾随空间也可能导致此问题

猜你在找的Ubuntu相关文章