我在实习期间被要求修改 bash 脚本,因为昨天是我第一次开始阅读 Bash 语法,我很难找出“语法错误:文件意外结束”错误。我想知道是否有人能够帮助我。
脚本的最后一部分是:
echo " " >>${MAILLOG}
echo "Building CSAPI SDK" >>${MAILLOG}
cd ${BuildsDIR}
make sdk
# Wait 3 minutes for the HDXs to reboot and SDK build to complete
echo "Waiting for the HDXs to reboot and SDK build to complete..." >>${MAILLOG}
sleep 180
echo "Running PyUnit tests" >>${MAILLOG}
cd Common/csapi/pyunit
make test >>${TESTLOG} 2>&1
TestReportLink=`mklink ${BUILDURL}/${1}/build/Common/csapi/pyunit/report.xml`
TestLogLink=`mklink ${BUILDURL}/${1}/build/${1}.test.log`
echo "Test report: ${TestReportLink}" >>${MAILLOG}
echo "Test log: ${TestLogLink}" >>${MAILLOG}
# Wait 3 minutes for the tests to complete
sleep 180
最佳答案
在该脚本的大约第 129 行出现:
EOFBUILDFAILUREMSG
从该行中删除前导空格,您的错误消息将消失。
这是 here 文档的结束分隔符。如果第 123 行更改为重定向运算符为
<<-
并且空白仅由制表符(无空格)组成,则您可以保留前导空白: cat <<-EOFBUILDFAILUREMSG >>${MAILLOG}
关于linux - 意外的文件结尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3672926/