Bash 此处是文档-意外的文件结尾
我一直在尝试从book Linux命令行运行以下脚本,但在文件结尾出现了一个错误。我以增量方式填写了每个函数,问题似乎出在函数报告_home_space()。不过剧本在我看来还行 知道问题在哪里吗Bash 此处是文档-意外的文件结尾,bash,shell,Bash,Shell,我一直在尝试从book Linux命令行运行以下脚本,但在文件结尾出现了一个错误。我以增量方式填写了每个函数,问题似乎出在函数报告_home_space()。不过剧本在我看来还行 知道问题在哪里吗 #!/bin/bash # Program to output a system information page declare -r TITLE="System Information Report for $HOSTNAME" declare -r CURRENT_TIME=$(date)
#!/bin/bash
# Program to output a system information page
declare -r TITLE="System Information Report for $HOSTNAME"
declare -r CURRENT_TIME=$(date)
declare -r TIMESTAMP="Generated $CURRENT_TIME, by $USER"
report_uptime(){
cat <<- _EOF_
<H2>System Uptime</H2>
<PRE>$(uptime)</PRE>
_EOF_
return
}
report_disk_space(){
cat <<- _EOF_
<H2>Disk Space Utilization</H2>
<PRE>$(df -h)</PRE>
_EOF_
return
}
report_home_space(){
cat <<- _EOF_
<H2>Home Space Utilization</H2>
<PRE>$(du -sh ~/*)</PRE>
_EOF_
return
}
cat << _EOF_
<HTML>
<HEAD>
<TITLE>$TITLE</TITLE>
</HEAD>
<BODY>
<H1>$TITLE</H1>
<P>$TIMESTAMP</P>
$(report_uptime)
$(report_disk_space)
$(report_home_space)
</BODY>
</HTML>
_EOF_
#/bin/bash
#用于输出系统信息页的程序
declare-r TITLE=“$HOSTNAME的系统信息报告”
声明-r当前时间=$(日期)
declare-r TIMESTAMP=“由$USER生成的$CURRENT\u时间”
报告正常运行时间(){
catThe谢谢!这确实是report\u home\u space()函数中的前导空格问题。我删除了该函数的here文档中所有行的前导空格,然后确保只使用制表符。
report() {
printf '<H2>%s</H2>\n<PRE>%s</PRE>\n' "$1" "$2"
}
report_home_space() {
report 'Home Space Utilization' "$(du -sh ~/*)"
}
# Other reports as above...