Hanno anche questo problema in uno script wrapper che utilizza
qsub -shell no -b yes -cwd -V somescript.bash arg1 arg2 etc
se lo usi per inviare un altro script di shell bash. Produce il fastidioso
/bin/sh: module: line 1: syntax error: unexpected end of file
/bin/sh: error importing function definition for `BASH_FUNC_module'
(questo è Sun Grid Engine 211.11 in esecuzione su CentOS 6.6) Risulta che le cose si risolvono semplicemente mettendo quanto segue sopra lo script wrapper (non lo script wrapper):
unset module
È tutto.
In /usr/share/Modules/init/bash ha commentato la riga 'export -f module'.
In una normale shell di login, module.sh verrà richiamato da profile.d quindi è disponibile il comando module. In una shell non di accesso, come uno script appwrapper, si limita a generare prima il file sopra.
Generalmente nello script delle applicazioni dopo l'approvvigionamento sopra il file danno di nuovo il comando "module load apps/vendor/app" che significa sourcing extra.
Riferimento::- http://gridengine.org/pipermail/users/2011-November/002019.html
Per qualche motivo a me sconosciuto l'aggiunta di punti e virgola alla fine di ogni riga ha risolto il problema.