我已经编写了shell-script
,使用while
循环和gradle clean build
命令来构建特定文件中提到的所有项目。
这是它的样子:
echo -e "\Building all projects"
filename="projects" #File Containing all projects name to build
workdir=$(pwd)
while read -r line; do
name="$line"
echo -e "\ngradle build repo - $name"
cd $workdir/$name
gradle clean build
done < "$filename"
这是项目文件的内容:
core
dal
dao
web
ui
这是我的目录结构
src
|-script.sh
|-core
| |-build.gradle
| |-gradle.properties
| |-src
| |-otherstuff
|
|-dal
| |-build.gradle
| |-gradle.properties
| |-src
| |-otherstuff
|
|-dao
| |-build.gradle
| |-gradle.properties
| |-src
| |-otherstuff
|
|-same repeats for web and ui
所以我希望脚本读取文件projects
并从该文件进入所有提到的folders
并在该文件夹中发出命令gradle clean build
。
除了gradle
命令外,一切正常,并且按预期工作,无论第一个项目(core
的构建是成功还是失败,它都会使脚本中断循环并退出。
因此它仅输出第一个项目的输出,而不适用于其他所有项目。
但是,
如果我尝试在后台运行它,则效果很好;即 代替
gradle clean build
如果我发出
gradle clean build &
工作正常;尽管在这种情况下,输出是乱码。
任何人都可以调查一下并帮助我吗?
先谢谢了。