Puede escribir un script Groovy externo que realice todas las importaciones, cree un objeto GroovyConsole y llame al método run() en este objeto.
Ver también http://groovy.codehaus.org/Groovy+Console#GroovyConsole-EmbeddingtheConsole
Por ejemplo: 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()
Desde un shell script llamar al ejecutable maravilloso dotándola con el guión maravilloso:
#!/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
El código en GroovyConsole ahora puede hacer uso de las importaciones realizadas en start.groovy, así como de las variables creadas y pasadas con el método setVariable ('service' en el ejemplo le).