我在实习期间被要求修改一个 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/