嗨想要传递一个参数给我的perl脚本,应该通过qsub执行。 于是我运行:将参数传递给perl脚本执行槽qsub
qsub -l nodes=node01 -v "i=500" Test.pl
虽然Test.pl我试着打电话给我分几路参数:
use Getopt::Long;
$result = GetOptions ("i" => \$num);
open(FILE,">/data/home/FILEout.txt");
print FILE "$num\n";
print FILE "$ARGV[0]";
close(FILE);
可惜的是Perl脚本的输出文件总是空的。
你有什么建议吗?我错在哪里?请帮助
这个'Test.pl'的输出是什么:'use Data :: Dumper;打开($ FH,“>/data/home/FILEout.txt”)或者死掉$ !;本地$ Data :: Dumper :: Terse = 1;本地$ Data :: Dumper :: Indent = 0; print($ FH Dumper(\ @ ARGV),“\ n”); print($ FH join(',',keys(%ENV)),“\ n”);'? – ikegami 2013-03-28 12:13:53
@ikegami我真的很感谢你的帮助。 Test.pl的输出如下:'PBS_NODEFILE,PBS_O_SHELL,PBS_O_SYSTEM,SSH_ASKPASS,PBS_O_WORKDIR,PBS_O_LANG,PBS_O_MAIL,PBS_O_PATH,LESSOPEN,PBS_JOBCOOKIE,PWD,LANG,USER,PBS_O_HOST,G_BROKEN_FILENAMES,LOGNAME,PBS_JOBID,SHLVL,INPUTRC, PATH,PBS_ENVIRONMENT,PBS_O_QUEUE,OMP_NUM_THREADS,PBS_QUEUE,HISTSIZE,PBS_O_HOME,PBS_MOMPORT,HOME,MAIL,PBS_O_LOGNAME,TZ,PBS_NODENUM,PBS_TASKNUM,NCPUS,HOSTNAME,_,LS_COLORS,SHELL,PBS_JOBNAME,PBS_JOBDIR,TMPDIR, qsub -l nodes = node01 -v“i = 500”Test.pl' – desmo 2013-03-28 13:26:32
and @ARGV is empty – desmo 2013-03-28 13:36:46