Вы можете написать внешний скрипт Groovy, который выполняет все операции импорта, создает объект GroovyConsole и вызывает метод run () для этого объекта.
См. Также http://groovy.codehaus.org/Groovy+Console#GroovyConsole-EmbeddingtheConsole
Например: start.groovy
import groovy.ui.Console;
import com.botkop.service.*
import com.botkop.service.groovy.*
def env = System.getenv()
def service = new ServiceWrapper(
userName:env.userName,
password:env.password,
host:env.host,
port:new Integer(env.port))
service.connect()
Console console = new Console()
console.setVariable("service", service)
console.run()
Из скрипта оболочки вызовите исполняемый файл groovy, предоставив ему скрипт groovy:
#!/bin/bash
if [ $# -ne 4 ]
then
echo "usage: $0 userName password host port"
exit 10
fi
export userName=$1
export password=$2
export host=$3
export port=$4
export PATH=~/apps/groovy/bin:/usr/bin:$PATH
export CLASSPATH=$(find lib -name '*.jar' | tr '\n' ':')
groovy start.groovy
Код в GroovyConsole теперь может использовать импорт, выполненный в start.groovy, а также переменные, созданные и переданные с помощью метода setVariable (в данном случае 'service').