我在qsub shell脚本的python脚本上调用几个unix命令和python,意味着在集群上运行。麻烦的是,当脚本执行时,shell中似乎出现了错误,因此找不到存在的目录和文件。例如,在qsub的.out输出文件中,我看到以下错误:
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会产生错误。
知道这里可能出现什么问题,或者我如何尝试调试它?
非常感谢。
答案 0 :(得分:0)
错误非常自我解释。确保/valid/dir/name
实际上是一个目录。如果找不到,可以将它放在shell脚本中以创建此目录。
if [ ! -d "/valid/dir/name" ];then
mkdir -p /valid/dir/name
fi
至于Python错误,因为没有“有效”目录,它会给你错误。
答案 1 :(得分:0)
此目录是否存在于每个可能的计算节点上?请记住,脚本不一定在您提交的主机上执行。尝试将python等效的echo hostname添加到您的脚本中,然后验证该主机上是否存在该目录。