繁体   English   中英

在 Jenkins 中执行 shell 命令无法识别管道字符

[英]Execute shell command in Jenkins does not recognize the pipe character

在 Jenkins 的 Execute shell command 选项中,我试图执行 xcodebuild -scheme "My project" test | xcpretty --report junit --output report.xml

但是当詹金斯执行它时,它看起来像是无法识别管道字符,而是将其作为下一行或其他东西。

我尝试过的事情 - 将命令放在 .sh 文件中 - 转义管道字符 - 使用 Eval

他们都没有工作

我暂时不想使用 Xcode 插件。

有什么提示可以使它工作吗?

尝试将#!/bin/bash放在命令行代码的顶部。 (请不要拼写错误。)

编辑:如果它不是管道,那么可能是您需要获取第一个命令的输出并将其包装起来,以便一次发送所有内容......我可能措辞错误。

OUT="$(xcodebuild -scheme "My project" test)"
echo $OUT | xcpretty --report junit --output report.xml

看起来它把它当作换行符,因为这两个命令实际上是同时执行的; 它们不是按顺序执行的。 请参阅关于管道在 Bash 中的工作原理的简单解释是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM