Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # usage: sh run_rscript.sh matlabScriptName nodeName
- if [ "$#" -eq 0 ]; then
- echo "Must input the scrpt name of R."
- exit 1
- elif [ "$#" -eq 1 ]; then
- declare nodeName="node34"
- declare queue="matque"
- echo "There is no node input, then use default node34."
- elif [ "$#" -eq 2 ]; then
- declare nodeName=$2
- if [ ${nodeName:0:4} == "node" ]; then
- if [ ${nodeName:4:5} == "53" ] || [ ${nodeName:4:5} == "54" ] || [[ ${nodeName:4:5} -ge 22 && ${nodeName:4:5} -le 31 ]]; then
- declare queue="mulque"
- elif [[ ${nodeName:4:5} -ge 61 && ${nodeName:4:5} -le 67 ]]; then
- declare queue="hmque"
- elif [ ${nodeName:4:5} == "21" ] || [[ ${nodeName:4:5} -ge 55 && ${nodeName:4:5} -le 60 ]]; then
- declare queue="dque"
- elif [[ ${nodeName:4:5} -ge 34 && ${nodeName:4:5} -le 36 ]]; then
- declare queue="matque"
- else
- echo "Wrong node number, node number must be 21~31, 34~36 or 53~67."
- exit 1
- fi
- elif [ ${nodeName:0:8} == "himemhpc" ]; then
- declare queue="hmque"
- else
- echo "Wrong input, input must be node + number."
- exit 1
- fi
- else
- echo "Too many inputs."
- exit 1
- fi
- echo -e "#!/bin/sh\\n#PBS -l walltime=2400:00:00\\ncd \$PBS_O_WORKDIR" > tmp.sh
- echo "/NA/R2012a/bin/matlab < ${1} > " ${1//.m/.out} >> tmp.sh
- echo "run the command: qsub -l nodes=$nodeName -q $queue tmp.sh"
- eval "qsub -l nodes=$nodeName -q $queue tmp.sh"
Advertisement
Add Comment
Please, Sign In to add comment