]> git.donarmstrong.com Git - uiuc_igb_scripts.git/blobdiff - dqsub
add support for array options
[uiuc_igb_scripts.git] / dqsub
diff --git a/dqsub b/dqsub
index 3299b462480deef652ed83448b9439d93affa391..98e494780e6883c2d46c298fcd4268487743df92 100755 (executable)
--- a/dqsub
+++ b/dqsub
@@ -158,9 +158,13 @@ sub generate_qsub_options{
         $l[$#l] .= ':ppn='.$options->{ppn};
     }
     if ($options->{mem}) {
-        push @l,'mem=',$options->{mem};
+        push @l,'mem='.$options->{mem};
     }
     push @qo,'-l',join(',',@l) if @l;
+    if ($options->{interactive}) {
+        push @qo,'-I';
+    }
+    return @qo;
 }
 
 sub read_array_options{
@@ -198,6 +202,23 @@ sub write_qsub_script {
 # this script was written by dqsub
 EOF
     if (defined $opt->{array}) {
+        my $array_opt = join("\n",@{$array});
+        $script .= <<EOF;
+OPT=\$(sed -n -e "\$PBS_ARRAYID p"<<'_HERE_DOC_END'
+$array_opt
+_HERE_DOC_END_
+)
+EOF
+        if ($opt->{array} eq 'chdir') {
+            $script .= <<EOF;
+cd "\$OPT";
+exec $command;
+EOF
+        } else {
+            $script .= <<EOF;
+exec $command "\$OPT";
+EOF
+        }
         die "--array is currently not implemented";
     } else {
         $script .= <<EOF;