我如何编写脚本来创建队列以向终端提交作业

我如何编写脚本来创建队列以向终端提交作业

我有几个安装在我的 ubuntu 上的程序的输入文件,我可以手动完成并输入

keyword teste.in

但由于我有大量文件,且每个文件的名称都不同,因此我希望自动完成此操作。是否可以在此处创建一个队列,脚本提交第一个作业,当该作业完成后,再提交下一个作业,然后一次提交所有其他作业?

谢谢

答案1

您可以执行类似以下的操作。假设我的目录中有多个文件,在我的小测试用例中,我有三个文件,分别名为 a.txt b.txt c.txt。然后在 bash 中,我可以使用这样的 for 循环:

for name in `ls` ; do echo now name is $name ; cat $name ; done

变量 $name 将包含当前文件名,它将循环遍历 ls 命令列出的所有文件名。当然,您可以使用自己的命令,如“qe $name”或其他命令,而不是我用于测试的“cat $name”。

如果您不喜欢像上面那样用分号分隔内容,那么您可以将其写在脚本文件中的单独行上,如下所示:

for name in `ls` ; do
  echo now name is $name
  cat $name
done

“回显现在的名称是 $name”部分不是必需的,我只是喜欢看看脚本正在做什么。

相关内容