繁体   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