0
我有两个文件夹名为one
和two
,放置在/ home /中。每个文件夹中有一个(相同的)可执行文件prog.x
,开始执行后需要1小时才能完成。我想首先执行/home/one/prog.x
然后/home/two/prog.x
(所以不是在同一时间)。按顺序在各个文件夹中执行程序
我想为我做一个脚本。有没有一个聪明的方法来实现这一目标?请注意,prog.x
通过加载位于同一文件夹中的数据文件工作。
我有两个文件夹名为one
和two
,放置在/ home /中。每个文件夹中有一个(相同的)可执行文件prog.x
,开始执行后需要1小时才能完成。我想首先执行/home/one/prog.x
然后/home/two/prog.x
(所以不是在同一时间)。按顺序在各个文件夹中执行程序
我想为我做一个脚本。有没有一个聪明的方法来实现这一目标?请注意,prog.x
通过加载位于同一文件夹中的数据文件工作。
因为你的程序(?不明智)在其执行目录中隐含的依赖,你可能要考虑使用子shell和;
分离顺序命令
在bash
风格的外壳,你可以这样做:
(cd /home/one ; ./prog x) ; (cd /home/two ; ./prog.x)
如果你想更广泛的解决方案,你可以使用一个for
遍历一个列表:
for d in one two ; do cd /home/$d ; ./prog.x ; done
我可以得到我的问题为什么值得一个拇指向下的反馈?看起来像是最体面的事情,对吧? – BillyJean 2013-05-10 16:06:27
不要认为这是应得的,但你可以更清楚地知道程序只能通过它的位置在可执行文件所在的目录中找到数据文件。 – 2013-05-10 16:11:45