Jenkins为shell命令添加特殊字符

时间:2015-02-09 11:04:10

标签: shell encoding jenkins

所以,我有这个Jenkins构建,我将最终构建转移到部署服务器。我有一个复制命令,我在Jenkins的部署服务器上做。但是,Jenkins似乎在向cp添加一些未编码的字符,因为它失败了。这是我在Jenkins shell中直接给出的命令:

cp $BUILD_NUMBER/*.war /opt/apache-tomcat-8.0.15/webapps

这是Jenkins的控制台输出,带有未编码的字符:

SSH: EXEC: STDOUT/STDERR from command [cp 33/*.war /opt/apache-tomcat-8.0.15/webapps/
bash /opt/apache-tomcat-8.0.15/bin/catalina.sh start] ...
SSH: EXEC: connected
cp: cannot stat ���33/*.war���: No such file or directory
Tomcat started.

忽略Tomcat的开始步骤。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:-1)

您更有可能在脚本的该行中保存了一些特殊(非打印或非标准空白)字符。尝试使用hexdumping您的脚本并检查$BUILD_NUMBER/*.war是否确实是空格字符。只需运行hexdump < script.sh或运行hexdump并粘贴脚本,然后按 Ctrl - d 即可完成输入。