Ben*_*enU 3 linux shell-script macos
我正在我的 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)
如果有人知道我做错了什么,我将不胜感激!
如果重定向运算符为 \xe2\x80\x98<<-\xe2\x80\x99,则所有前导制表符将从输入行和包含分隔符的行中删除。这允许 shell 脚本中的此处文档以自然的方式缩进。
\n\n如果这不起作用,请尝试将EOF标记移动到行的最开头(删除所有空格)。
\n| 归档时间: |
|
| 查看次数: |
4448 次 |
| 最近记录: |