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遇到这个问题,就仔仔细细去检查有双隐号的代码吧

  • 相关阅读:
    Yii增删改查
    10个超级有用、必须收藏的PHP代码样例
    yii源码分析I、II
    Yii源码阅读笔记
    Yii源码阅读笔记
    Yii源码阅读笔记
    当浏览器输入url的时候发生了什么
    js模块化值之seaJS
    js判断字符串中的英文和汉字
    display:table-cell的惊天作用,直接惊呆你!
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/12143680.html
Copyright © 2011-2022 走看看