我有两个名为 one
和 two
的文件夹,它们位于/home/中。每个文件夹中都有一个(相同的)可执行文件 prog.x
,开始执行后需要 1 小时才能完成。我想先执行 /home/one/prog.x
然后执行 /home/two/prog.x
(所以不能同时执行)。
我想编写一个脚本来为我执行此操作。有没有聪明的方法来实现这一目标?请注意,prog.x
通过加载位于同一文件夹中的数据文件来工作。
最佳答案
由于您的程序(不明智?)对其执行目录具有隐式依赖性,您可能需要考虑使用子 shell 和 ;
来分隔顺序命令
在 bash
风格的 shell 中你可以这样做:
(cd /home/one ; ./prog x) ; (cd /home/two ; ./prog.x)
如果你想做一个更通用的解决方案,你可以在列表上使用 for
循环:
for d in one two ; do cd /home/$d ; ./prog.x ; done
关于linux - 依次执行各个文件夹中的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486216/