目前,我有一个命令循环遍历目录列表(我不知道其名称)然后cd
进入目录以最终执行maven install
命令。但是,我注意到只有一个目录包含pom.xml
。不必在其他目录上运行maven命令。有没有办法遍历目录并在保存pom.xml
的目录中停止,然后执行maven命令并突破循环?
for d in */ ; do (cd "$d" && maven install -Dmaven.test.skip=true); done
答案 0 :(得分:3)
您可以使用find
命令替换循环。例如:
find * -name pom.xml -execdir maven install -Dmaven.test.skip=True \;
有关详细信息,请参阅man page。 -execdir
选项在包含pom.xm
的目录中运行给定的命令。这将通过整个目录树递归;为了使它更完全等同于你的shell脚本,你可以限制它下降的深度:
find * -name pom.xml -maxdepth 1 -execdir maven install -Dmaven.test.skip=True \;