首页 > 解决方案 > pash 中 for 循环的不正确规范(错字?)

问题描述

我似乎找不到在 bash 中调试此 for 循环的方法。这不是我经常使用的语言,我只是在运行 R-Script。我已经创建了我的工作并将它们存储在一个文件夹 (jobs_test) 中。但不知何故,一旦我输入命令,什么都没有发生。

这是我最初得到的(jobs_test 是文件夹,我想执行所有作业文件)

for i in jobs_test/*.job do sbatch$i; done for i in jobs_test/*.job do sbatch$i done for i in jobs_test/*.job do sbatch i; done for i in jobs_test/*.job do sbatch i done

对于所有这些变体,我只是以提示“>”结束,没有别的。如果我在提示行输入代码,我会收到类似的错误 -bash: syntax error near unexpected token

标签: bashparallel-processingslurm

解决方案


正确的版本是

for i in jobs_test/*.job ; do sbatch "$i"; done

注意 之前的分号,以及 和 之间的do空格。此外,如果脚本名称不包含空格等,则最好在周围添加引号,但不是必需的。sbatch$i$i


推荐阅读