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

10-11 20:21