假设我在父目录(我们称之为“父目录”)中克隆了大约 10 个 hg 存储库。有什么方法可以像hg status
在所有子目录上一样调用 mercurial 命令,而不是执行繁琐的操作,cd
进入每个目录然后调用hg status
?
我确实尝试过旧方法xargs
,但由于某种原因,它失败了。我使用的命令是:
find . -maxdepth 1 -type d -print | xargs -t "hg status"
和
ls | xargs -t "hg status"
更新:解决方案是在使用时使用显式名称持有者xargs
。例如:
ls | xargs -t -I {} hg status {}
答案1
for dir in ./*/
do
(cd $dir && hg status)
done
答案2
如果hg
允许并行运行,则可以使用 GNU Parallel
parallel cd {} '&&' hg status ::: ./*/
如果没有,你可以添加-j1:
parallel -j1 cd {} '&&' hg status ::: ./*/
观看介绍视频以了解更多信息:http://www.youtube.com/watch?v=OpaiGYxkSuQ