我有两个名为one
和two
的文件夹,放在/ home /中。每个文件夹中都有一个(相同的)可执行文件prog.x
,在开始执行后需要1小时才能完成。我想首先执行/home/one/prog.x
然后/home/two/prog.x
(所以不要同时执行)。
我想制作一个为我这样做的脚本。有没有一种聪明的方法来实现这一目标?请注意prog.x
的工作方式是加载数据文件,该文件位于同一文件夹中。
答案 0 :(得分:3)
由于您的程序(不明智?)隐含依赖于其执行目录,您可能需要考虑使用子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