簡體   English   中英

使用Gradle連接Linux上的文件

[英]Concatenate files on linux with Gradle

這是我當前的Gradle任務:

task concat << {
    println "cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
    exec {
        commandLine "bash","-c",'cat',"$localWebapp/sc*.js", ">", "$buildDir/js/sc.concat.js"
    }
}

即使我使用println打印的命令是正確的(如果我將其粘貼到項目目錄中的控制台中也可以使用),但該命令不會生成sc.concat.js文件。

發生了什么事,我該如何解決?

sh -c為腳本/命令執行一個參數:

commandLine "/bin/sh","-c","cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"

否則, cat之后的參數將作為進一步的參數傳遞給shell,這些參數將被“誤解”。

而不是commandLine ,似乎executable可以工作:

task concat << {
    println "cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
    exec {
        executable "sh"
        args "-c", "cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM