我有几个安装在我的 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”部分不是必需的,我只是喜欢看看脚本正在做什么。