linux - 依次执行各个文件夹中的程序

标签 linux

我有两个名为 onetwo 的文件夹,它们位于/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/

相关文章:

c - 如何在从多个目录/文件编译内核模块时创建新目录并将 .o 文件移动到其中

linux - PostgreSQL 无密码提示 : . pgpass 被忽略

c - 所有信号的信号处理程序

c++ - 初始化对象时出现段错误

c - 需要说明汇编器和Linux信号处理的用法

c - Linux 内核中 rt.c/deadline.c 中的空函数

linux - 用于 Linux 编程的 Xbox 360

linux - Lazarus:如何列出系统上所有可用的网络连接?

c++ - 使用 C++ 实现操作系统服务之间的通信

java - 如何为本地服务器设置 AWS Lambda 服务