作业数组脚本

时间:2015-04-27 00:43:16

标签: arrays bash

我想发送一个作业数组,但仍然不了解整个过程(我是新手)。在网站上,我发现了这个:

#!/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脚本,有真正的任务吗?它保存在哪里以及作业将如何定位脚本?

1 个答案:

答案 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或“标准输出”)转到文件而不是终端屏幕。