小编Ben*_*enU的帖子

如何在 shell 函数中创建“此处文档”?

我正在我的 Mac OSX 10.7.5 系统上学习 William Shots Jr. 的精彩《Linux 命令行》。Shots 涵盖的 90% 的 linux 与 Darwin 足够接近,我可以弄清楚或 GTEM 来弄清楚发生了什么。我已经读到了第 27 章“编写 Shell 脚本”,并且正在为在函数中创建“此处文件”而烦恼。

syntax error: unexpected end of file当我包含以下函数时出现错误:

report_uptime () {
  cat <<- _EOF_
    <H2>System Uptime</H2>
    <PRE>$(uptime)</PRE>
    _EOF_
  return
}
Run Code Online (Sandbox Code Playgroud)

如果我使用以下函数占位符,错误就会消失:

report_uptime () {
  return
}
Run Code Online (Sandbox Code Playgroud)

另外,在脚本的其他地方,在函数之外,我使用该cat << _EOF_格式毫无问题地创建“此处文件”:

cat << _EOF_
<HTML>
      <HEAD>
            <TITLE>$TITLE</TITLE>
      </HEAD>
      <BODY>
            <H1>$TITLE</H1>
            <P>$TIME_STAMP</P>
            $(report_uptime)
            $(report_disk_space)
            $(report_home_space)
      </BODY>
</HTML>
_EOF_
Run Code Online (Sandbox Code Playgroud)

如果有人知道我做错了什么,我将不胜感激!

linux shell-script macos

3
推荐指数
1
解决办法
4448
查看次数

标签 统计

linux ×1

macos ×1

shell-script ×1