bash - 在 gradle exec 任务中使用 bash glob

标签 bash gradle glob

我正在构建一个 gradle Exec 任务,这意味着只调用一个基本的 sed 命令,假设:sed -i 's:some:substitution: ' *

什么是正确的语法或 gradle 函数/变量来使 * glob 替换为它在某些 bash/zsh shell 中匹配的文件?

也就是说,如何触发shell展开


到目前为止我尝试的是:

task myTask(type: Exec){

    workingDirsome dir

    commandLine 'sed', '-i', 's:some:substitution:', "*"
}

但我得到一个错误:sed: can't read *: No such file or directory,这并不奇怪。

最佳答案

您需要启动包裹在外壳中的命令:

commandLine 'bash', '-c', 'sed -i "s:some:substitution:" *'

关于bash - 在 gradle exec 任务中使用 bash glob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25178363/

相关文章:

linux - 我的shell脚本怎么了?当在函数中使用循环时,总是会有一些异常

java - 无法在 Windows 10 上通过 gradle 构建 docker 镜像

bash - 在多个文件中按行号打印一系列行

python - 如何以有效的方式列出图像序列? Python中的数字序列比较

bash - 'diff' 命令可以忽略不同类型的换行符吗?

bash - 为什么带有 -w (--word-regexp) 标志的 grep 如此缓慢且占用大量内存?

json - xargs:如何替换文字双引号?

android - 在变体中改变 resValue

java - maven-application.xml 文件有什么用?

bash - bash 中的全局重命名