我们创建一个扭矩pbs文件“ testpbs ”,如下所示:
#!/bin/sh
#PBS -N T1272_flt
#PBS -q batch
#PBS -l nodes=1:ppn=1
#PBS -o /data/software/torque-4.2.6.1/testpbs.sh.out
#PBS -e /data/software/torque-4.2.6.1/testpbs.sh.err
sleep 20
然后提交了testbps文件。
qsub testpbs
我们收到了错误消息:
more testpbs.sh.err
/var/spool/torque/mom_priv/jobs/8.centos64.SC:line 9:sleep:command 找不到
但是,我们在命令行中运行 sleep 20 。没有错误发生。
$ sleep 20
提前致谢。
我们在shell中运行了 echo $ PATH 并获得了以下内容:
echo $ PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin: /usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin:/data/software/cufflinks-2.0.2 .Linux_x86_64:/home/amin/bin/blast-2.2.19:/根/ bin中:/家庭/阿明/ bin中
我们使用 qstat -f jobid 查看此作业的详细信息。
PBS_O_LOGNAME =阿明,
PBS_O_PATH = /usr/lib64/qt-3.3/bin: / usr / local / sbin : / usr / local / bin : / sbin: / bin :/ usr / sbin: / usr / bin :/ sbin:/ bin:/ usr / sbin:/ usr / bin: / usr / X11R6 / bin:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin: /data/software/cufflinks-2.0.2.Linux_x86_64: /home/amin/bin/blast-2.2.19:/ root / bin:/ home / aimin / bin,
PBS_O_MAIL =的/ var /线轴/邮件/根,
PBS_O_SHELL = /斌/庆典,
PBS_O_LANG =的en_US.UTF-8,
PBS_O_WORKDIR = /数据/软件/扭矩4.2.6.1,
PBS_O_HOST = centos64,
PBS_O_SERVER = centos64
感谢larsks的大力帮助。以下作品:
#!/bin/sh
#PBS -N T1272_flt
#PBS -q batch
#PBS -l nodes=1:ppn=1
#PBS -o /data/software/torque-4.2.6.1/testpbs.sh.out
#PBS -e /data/software/torque-4.2.6.1/testpbs.sh.err
export PATH=$PBS_O_PATH
sleep 20
答案 0 :(得分:2)
尝试使用命令的完整路径替换sleep
(可能是/usr/bin/sleep
),看看是否会改变行为。如果是这样,那么你的脚本在Torque下运行时,只会有一个不同的(或空的)$PATH
变量。
您可以(a)继续使用显式路径,或(b)在脚本中明确设置$PATH
,例如:
PATH=/bin:/usr/bin:/usr/local/bin