Gradle 脱离 Bash for 循环

Nol*_*ght 1 java git bash gradle

我有一个版本历史记录,我正在尝试在其上运行 gradle 构建,并且在我的 bash 脚本中

while read -r version
do
    git checkout $version
    gradle clean
    gradle javadoc
    ...
done < version-history.log
Run Code Online (Sandbox Code Playgroud)

它试图获取我的代码的每个标记版本的文档。问题是 gradle 运行一次构建,然后就跳出了 for 循环。我尝试将其封装在函数调用中,但它仍然设法跳出循环。这种行为是故意的吗?我怎样才能阻止它这样做?我的gradle版本是

------------------------------------------------------------
Gradle 6.2.1
------------------------------------------------------------

Build time:   2020-03-01 17:25:20 UTC
Revision:     <unknown>

Kotlin:       1.3.61
Groovy:       2.5.8
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          13.0.2 (Oracle Corporation 13.0.2+8)
OS:           Linux 5.5.6-arch1-1 amd64

Run Code Online (Sandbox Code Playgroud)

Dyn*_* Fu 5

Gradle 由于某种原因消耗输入,这就是导致此行为的原因。附加</dev/null到 gradle 调用似乎可以解决问题,尝试

while read -r version; do
  git checkout $version
  gradle clean </dev/null
done <version-history.log
Run Code Online (Sandbox Code Playgroud)