簡體   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