zoukankan      html  css  js  c++  java
  • [Jenkins]运行shell报错:寻找匹配的 `"' 是遇到了未预期的文件结束符

     这里有一个坑(至少对于我来说):

    报错信息中的出错行,并不代表真实脚本中的出错行.

     

    jenkins执行的shell内容如下:

    第1行echo 1个字符串,少1个双隐号

    echo "233342
    echo "12312"
    echo "34"

    执行jenkins报错如下:

    /usr/local/tomcat/apache-tomcat-8.5.40/temp/jenkins5082891078041588552.sh:行4: 寻找匹配的 `"' 是遇到了未预期的文件结束符
    Build step '执行 shell' marked build as failure
    Finished: FAILURE

    可以看到错信息显示的是行4,但是并没有行4.我是这样理解的,jenkins(bash)发现 第1行缺少双隐号之后,一直寻找到了shell脚本末尾,也没有找到匹配的双隐号,所以这里的行4,指的是,我已经找到文件末尾了,都没有匹配到双隐号,你这个脚本是有问题的,你自己去找到底是哪一行双隐号少了吧.

    按照我以前调试python程序的经验,编译器执行出一段代码,代码出现语法错误时,编译器会抛出具体位置.(大部分情况下)
    但是显示这个经验不适用于调试shelle脚本.

    所以下次执行shell遇到这个问题,就仔仔细细去检查有双隐号的代码吧

  • 相关阅读:
    CSS(二)样式优先级别和css的单位刻度
    Ural 1416 Confidential
    UVA 10600
    UESTC 1558 Charitable Exchange
    ZOJ 3349 Special Subsequence
    mysql主从复制
    debian安装mysql
    lpeg
    多线程程序 怎样查看每个线程的cpu占用
    linux TIME_WAIT过多的解决方法
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/12143680.html
Copyright © 2011-2022 走看看