[Jenkins]运行shell报错:寻找匹配的 `"' 是遇到了未预期的文件结束符

Posted wangju003

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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遇到这个问题,就仔仔细细去检查有双隐号的代码吧

以上是关于[Jenkins]运行shell报错:寻找匹配的 `"' 是遇到了未预期的文件结束符的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins运行python脚本报错

shell文件管理jenkins构建过程---window环境下报错:找不到shell文件

jenkins执行groovy 脚本报错

大坑,jenkins 配置publish over ssh bash 插件,远程部署,无法执行shell脚本

怎么解决jenkins运行ANT出现失败,但是本机shell运行ANT正常问题。

在 jenkins 中运行命令 shell