2014-01-21 40 views
1

作品中,我們創建一個扭矩PBS文件「testpbs」如下:睡眠命令扭矩PBS沒有找到,但在外殼

#!/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

我們得到了錯誤信息:

更testpbs.sh.err

/var/spool/torque/mom_priv/jobs/8.centos64。 SC:第9行:睡眠:命令 找不到

但是,我們在命令行中運行了sleep 20。沒有錯誤發生。

$睡眠20

在此先感謝。

我們跑回聲$ PATH殼,得到了以下幾點:

回聲$ 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中:/ home/amin/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 

回答

2

嘗試用完整路徑命令(可能/usr/bin/sleep)更換sleep,看看是否改變行爲。如果是這樣,那麼當你的腳本在Torque下運行時,只是有一個不同的(或空的)變量。

您可以(一)繼續使用顯式路徑,或(b)在你的腳本設置$PATH明確,e.g:

PATH=/bin:/usr/bin:/usr/local/bin 
+0

感謝。我們嘗試**/bin /睡眠20 ** pbs。有用。我們在pbs中嘗試了** echo $ PATH **。它只顯示**/home/amin/bin **。我們使用** qstat -f jobid **來查看此作業的詳細信息。請參閱我頂級帖子的結尾部分。 – Eman