También tiene este problema en un script contenedor que usa
qsub -shell no -b yes -cwd -V somescript.bash arg1 arg2 etc
si lo usa para enviar otro script de shell bash. Produce el molesto
/bin/sh: module: line 1: syntax error: unexpected end of file
/bin/sh: error importing function definition for `BASH_FUNC_module'
(Esto es Sun Grid Engine 211.11 ejecutándose en CentOS 6.6) Resulta que las cosas se resuelven simplemente colocando lo siguiente encima del script contenedor (no del script envuelto):
unset module
Eso es todo.
En /usr/share/Modules/init/bash comentó la línea 'export -f module'.
En un shell de inicio de sesión normal, se llamará a modules.sh desde profile.d para que el comando del módulo esté disponible. En un shell sin inicio de sesión, como una secuencia de comandos appwrapper, solo obtiene primero el archivo anterior.
Generalmente, en el script de aplicaciones después de obtener el archivo anterior, nuevamente dan el comando "módulo cargar aplicaciones/proveedor/aplicación", lo que significa suministro adicional.
Referencia::- http://gridengine.org/pipermail/users/2011-November/002019.html
Por alguna razón desconocida para mí, agregar punto y coma al final de cada línea solucionó el problema.