[英]invoking gradle as part of bash script terminates that script
第一次調用gradlew
之后,以下腳本將終止。 這是為什么?
#!/usr/bin/env sh
find $PWD -maxdepth 1 -type d | while read d; do
cd $d
echo "cd" $d
if [ -e "pom.xml" ]; then
echo $d " contains pom.xml"
mvn clean
echo "cleaned" $d
fi
if [ -e "gradlew" ]; then
echo $d " contains gradlew"
./gradlew -q clean
echo "cleaned" $d
fi
done
輸出:
$ ./clean-all
cd /home/user/code
cd /home/user/code/smstest
/home/user/code/smstest contains gradlew
cleaned /home/bpiech/code/smstest
如果我評論gradle調用,它適用於每個Maven項目。
將while循環更改為for-in循環解決了我的問題。 盡管如此,還是很高興知道為什么它會這樣工作。
#!/usr/bin/env sh
for d in $(find $PWD -maxdepth 1 -type d); do
cd $d
echo "cd" $d
if [ -e "pom.xml" ]; then
echo $d "contains pom.xml"
mvn clean
echo "cleaned" $d
fi
if [ -e "gradlew" ]; then
echo $d "contains gradlew"
./gradlew clean
echo "cleaned" $d
fi
done
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.