脚本无法找到从qsub群集脚本运行时的目录/文件

脚本无法找到从qsub群集脚本运行时的目录/文件

问题描述:

我从qsub shell脚本调用了一些python脚本中的几个unix命令和python,意图在群集上运行。问题在于,当脚本执行时,shell中的某些内容似乎会出错,从而找不到存在的目录和文件。例如,在qsub的.out输出文件中,我看到以下错误:脚本无法找到从qsub群集脚本运行时的目录/文件

cd: /valid/dir/name: No such file or directory 
python valid/script/name.py 
python: can't open file 'valid/script/name.py': [Errno 2] No such file or directory 

所以脚本无法cd到一个绝对存在的目录中。同样,在绝对存在的python脚本上调用python会产生错误。

任何想法这里可能会出现什么问题,或者我怎么可以尝试调试呢?

非常感谢。

这些错误是非常明显的。确保/valid/dir/name实际上是一个目录。如果找不到,你可以把它放在你的shell脚本中来创建这个目录。

if [ ! -d "/valid/dir/name" ];then 
    mkdir -p /valid/dir/name 
fi 

至于Python错误,因为没有“有效”的目录,它会给你错误。

此目录是否存在于每个可能的计算节点上?请记住,脚本不一定会在您提交的主机上执行。尝试将等同于echo hostname的python添加到脚本中,然后验证该主机上是否存在该目录。