我有以下shell腳本。在通過bsub提交時包含bash腳本參數
#!/bin/bash --login
#BSUB -q q_ab_mpc_work
#BSUB -J psipred
#BSUB -W 01:00
#BSUB -n 64
#BSUB -o psipred.out
#BSUB -e psipred.err
module load compiler/gnu-4.8.0
module load R/3.0.1
export OMP_NUM_THREADS=4
code=${HOME}/Phd/script_dev/rfpipeline.sh
MYPATH=$HOME/Phd/script_dev/
cd ${MYPATH}
${code} myfile.txt
中,我可以使用BSUB提交程序集羣:
bsub < myprogram.sh
但是我改變的最後一行在我的程序:
${code} $1
,我使用命令行參數指定文件,我怎樣才能把這個傳遞給bsub?
我曾嘗試:
bsub < myprogram.sh myfile.text
然而BSUB不會接受myfile.text
作爲一個bash參數。
我也曾嘗試
bsub <<< myprogram.sh myfile.text
./myprogram.sh myfile.text | bsub
bsub "sh ./myprogram.sh myfile.text"
什麼,我需要做什麼?
我想你只需要:'BSUB myprogram.sh myfile.text'。 – meuh
@meuh - 技術上這是運行,但工作失敗。如果我很快並使用'bjobs',我可以看到它已經提交,然後看到它已經運行,但是然後立即得到「沒有找到未完成的工作」。我期望'mkdir test'的輸出結果顯示沒有新文件夾,稱爲'test',所以我認爲它沒有工作。 – brucezepplin
你應該有一個stderr日誌文件。嘗試在腳本中添加'set -x'來跟蹤哪些命令也被執行。 – meuh