linux - 文件意外结束

标签 linux unix

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

相关文章:

c - Linux "ls -al"类似 C 语言程序

linux - 如何编写一个脚本来输出一个包含两个对应变量的表格?

linux - 多个awk在同一行打印

linux - Linux bash 脚本中的 Perl 脚本

c++ - Linux 上的性能分析

linux - 在循环中使用ftp时出现语法错误

linux - 为了开发目的,新的 ubuntu 服务器应该安装哪些基本东西?

linux - 在远程系统上复制文件

bash - cd "some path">&- 是什么意思?

使用 sockaddr_storage 从 IP 版本独立创建和连接套接字