带有输出重定向的Jenkins管道外壳剪切命令

带有输出重定向的Jenkins管道外壳剪切命令,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,今天我在编写管道场景时遇到了一个问题。请看脚本的以下部分: stage("test-stage") { steps { script { def srcFile = "test.txt" def dstFile ="test.txt.gz" sh "gzip ${srcFile} > ${dstFile}" } } } 结果,只执行了“>”(重定向输出)符号前面的

今天我在编写管道场景时遇到了一个问题。请看脚本的以下部分:

stage("test-stage") {
    steps {
        script {
            def srcFile = "test.txt"
            def dstFile ="test.txt.gz"
            sh "gzip ${srcFile} > ${dstFile}"  
        } 
    }
}

结果,只执行了“>”(重定向输出)符号前面的一部分命令:
+gzip test.txt
。它是如何处理这个符号以及如何解决这个问题的?感谢您的帮助。

Jenkins没有记录整个命令,这有点令人困惑。但是,是您调用gzip的方式导致了问题。您可以使用此选项:

sh "cat ${srcFile} | gzip > ${dstFile}"

它可以工作,但詹金斯仍然不能记录整个命令。它记录命令直到'>'。我认为这是某种bug或者是特定的行为。