Я работаю над замечательной командной строкой Linux Уильяма Шоттса-младшего в моей системе Mac OSX 10.7.5. 90% Linux, который покрывает Shotts, достаточно близки к Дарвину, чтобы я мог выяснить, или к GTEM, чтобы выяснить, что происходит. Я добрался до главы 27 "Написание сценариев оболочки" и зацикливался на создании "здесь файлов" внутри функции.
Я получаю syntax error: unexpected end of file
когда я включаю следующую функцию:
report_uptime () {
cat <<- _EOF_
<H2>System Uptime</H2>
<PRE>$(uptime)</PRE>
_EOF_
return
}
Ошибка исчезнет, если я использую следующую функцию-заполнитель:
report_uptime () {
return
}
Кроме того, в другом месте скрипта, вне функции, я использую формат 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_
Если кто-нибудь знает, что я делаю не так, буду благодарен!