循环命令行程序

循环命令行程序

我有许多文件需要用命令行运行的软件来处理。每次执行大约需要 8 小时,所以我想让这个过程自动化。

我如何编写一个脚本来自动执行此操作?我想象的算法是这样的:调用命令来处理文件 1,等待它完成,调用命令来处理文件 2,等等。它就像一个队列。我可以用 shell 脚本、python 或 java 编写。

答案1

默认情况下使用 bash,一个命令直到第一个命令完成后才会启动,因此您可以使用:

/path/to/command /path/to/file1
/path/to/command /path/to/file2
/path/to/command /path/to/file3

将命令放入名为 example 的脚本中~/run-all-commands。然后使用以下命令将其标记为可执行文件:

chmod +x ~/run-all-commands

然后使用以下命令批量调用 bash 脚本:

~/run-all-commands

答案2

获取ls文件夹列表。

编写一个脚本并script arguments使用您的文件夹作为参数来调用它。

脚本执行以下操作:

sp = $(pwd)

for i in $@
do
  cd $i
  cp ../command .
  ./command
  cd $sp
done

我假设command它本身就是一个本地脚本。如果它是某个东西~/bin,或者/bin您可以像调用其他脚本一样调用它。

相关内容