2013-08-19 3 views
0

나는 bash 함수를 내가 bsub 싶습니다. 그것은 스크립트를 소스로하려고 할 때 재귀 적으로 호출되지만, 스크립트를 소스 화하지 않으면 내 기능을 인식하지 못하는 것 같습니다. 동일한 스크립트 파일 내의 함수에 대해 besub을 올바르게 호출하려면 어떻게해야합니까?bash와 bash 함수를 호출 bsub lsf 내에서 bash 스크립트

my_script를 ("12345"를 인쇄해야합니다) :

#! /bin/sh 
function myFunct { 
echo $1 
} 

bsub -q myQueue "source ./my_script; myFunct 12345" 

답변

0

a.bash

#! /bin/bash 

export input=$1 
function myFunct { 
echo "$input" 
} 

# This is if you want to call bsub outside the bash 
# Use bsub -q Queue `./a.bash 12345` 

myFunct "$input" 


# Put bsub inside and call the script 
# ./a.bash 12345 

bsub -q myQueue `myFunct "$input"` 
+0

들으처럼 보일 수 있습니다. 내가 bsub를 a.bash 내에서 호출하고 싶다면 어떻게 보이겠습니까? 내 실제 코드에 forloop이 있기 때문에이 작업을 수행하려고합니다. – prostock

+0

'myFunct "$ input"대신에'bsub -q Queue \'myFunct "$ input"\''를 쓸 수 있습니다. 그런 다음'./a.bash 12345'로 실행하십시오. – iamauser

+0

내 대답에 더 많은 정보를 추가했습니다. 희망은 도움이 ... – iamauser