bash - 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
解决方案
正确的版本是
for i in jobs_test/*.job ; do sbatch "$i"; done
注意 之前的分号,以及 和 之间的do
空格。此外,如果脚本名称不包含空格等,则最好在周围添加引号,但不是必需的。sbatch
$i
$i
推荐阅读
- microsoft-graph-api - 同一邮件消息的多个不可变 ID?
- sql - 当我将数据添加到表 A 时,有没有办法通过约束自动将数据添加到表 B
- javascript - 如何在数组中循环每个 idx 的对象属性?
- python - 在拥有的页面上获得评论
- python - 在循环中覆盖类变量
- subscription - 什么是 Lighthouse GraphQL 订阅最佳实践
- json - 在 VBA 宏中循环遍历 json 中的子对象
- c++ - 我可以在 C++ 中的函数声明中初始化向量向量的大小(行和列)吗?
- amazon-ec2 - sftp 大文件(>1GB)失败,仅传输特定的数据字节。为什么?
- sql - 表 sql 中的第一个生效日期