2010-03-07 244 views
2

我從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會產生錯誤。

任何想法這裏可能會出現什麼問題,或者我怎麼可以嘗試調試呢?

非常感謝。

回答

0

這些錯誤是非常明顯的。確保/valid/dir/name實際上是一個目錄。如果找不到,你可以把它放在你的shell腳本中來創建這個目錄。

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

至於Python錯誤,因爲沒有「有效」的目錄,它會給你錯誤。

0

此目錄是否存在於每個可能的計算節點上?請記住,腳本不一定會在您提交的主機上執行。嘗試將等同於echo hostname的python添加到腳本中,然後驗證該主機上是否存在該目錄。