这里是 LSF 平台的文档

这里是 LSF 平台的文档

我正在尝试在通过 bsub 传递到 Platform LSF 的命令中执行进程替换。

在我提交作业的工作节点上,未启用进程替换,因为它不是 POSIX 兼容功能。

因此,我需要启用该功能,然后从 bsub 内提交第二个进程。我已经使用此处文档完成了这项工作,但是,它并非没有错误。最终的 EOF 标记没有被读取,即warning: here-document at line 4 delimited by end-of-file (wanted 'EOF')

set +o posix;
bash <<EOF
    some.program -1 <(gunzip -c some.file) -2 <(gunzip -c some.file);
EOF

作为单个字符串提交给 bsub,例如 set +o posix;\nbash <<EOF\nsome.program -1 <(gunzip -c some.file) -2 <(gunzip -c some.file);\nEOF

关于如何正确读取最终 EOF 有什么建议吗?正如我所说,一切都运行良好,所以这只是整理代码的情况。

答案1

shell 需要 EOF 字符串单独在一个完整的行中,只需\n在其后面添加一个(mybe a do Nothing : after 也可以提供帮助):

set +o posix;\nbash <<EOF\nsome.program -1 <(gunzip -c some.file) -2 <(gunzip -c some.file);\nEOF\n:

注意:我的意思是这是一条评论,但评论中没有足够的空间来完整地写下这一点。

相关内容