SGE集群的shell脚本

时间:2013-09-25 16:04:35

标签: arrays r shell cluster-computing sungridengine

我是一名新手bash程序员,在SGE HPC群集上提交阵列作业时遇到一些困难。我在群集上使用R模块来运行我编写的自定义分析例程(“CIfinal.rFunc”)。该脚本是可用的,但我不熟悉编写shell脚本。以下是我编写shell脚本的尝试:

#!/bin/bash

#$ -S /bin/bash
#$ -V
#$ -cwd
#$ -j y
#$ -N R-job
#$ -t 1-6

source /apps1/modules/init/sh
module purge
module load R/intel/3.0.1

parameters=(1 2 3 4 5 6)

#n_parameters=${#parameters[@]}
#for((i=1; i<$n_parameters; i++)); do
#    echo ${parameters[i]}
#
#done

#exit

index=$(($SGE_TASK_ID - 1))

arg1=${parameters[$index]}

cd $HOME/rDAT

cat <<EOF | R --no-save -q 
load("CIfinal.rFunc")
CIfinal.rFunc($arg1, 1)
EOF

exit

此脚本返回错误:第26行:参数:错误的数组下标 这是指arg1 = $ {parameters [$ index]}行

在我看来,参数没有被传递给函数,因此必须在循环中使用语法或使用其中一个bash命令或两者兼而有之。

非常感谢任何帮助。

谢谢

0 个答案:

没有答案