我想发送一个作业数组,但仍然不了解整个过程(我是新手)。在网站上,我发现了这个:
#!/bin/bash
#$ -S /bin/bash
#$ -cwd
#$ -V
# The 'myprog' below is serial hence no '-pe' option needed
#$ -t 1-1000
# ...tell SGE that this is an array job, with "tasks" numbered from 1
# to 1000...
./myprog < data.$SGE_TASK_ID > results.$SGE_TASK_ID
如果我错了,请纠正我,数据已被SGE系统索引。但是什么是&#34;,。myprog&#34;手段?是一个不同的bash脚本,有真正的任务吗?它保存在哪里以及作业将如何定位脚本?
答案 0 :(得分:1)
通常myprog
只是外部程序的通用名称。在这种情况下,我会假设这是完成工作的程序。它可以是一个bash脚本,但它可以用任何语言编写,包括C。
./myprog < data.$SGE_TASK_ID > results.$SGE_TASK_ID
前导./
表示在当前目录中找到程序(myprog)。如果愿意,可以用实际目录名替换.
。
< data.$SGE_TASK_ID
表示“myprog”的输入流(称为stdin
或“标准输入”)来自文件而不是键盘。文件名是“数据”一词。后跟变量SGE_TASK_ID
的值。前导$
为我们提供变量的值。从您显示的代码中不清楚此变量的来源。*
> results.$SGE_TASK_ID
类似,除了这是“myprog”的输出流(称为stdout
或“标准输出”)转到文件而不是终端屏幕。