Here is a convenient script to control an H2 Database instance from the command line. It is designed for Mac OS X, but may be adapted to Linux using suitable options for the open and ps commands, e.g. `ps -ef`.
#!/bin/sh## Control H2 instance; assumes default port assignments# Author: John B. Matthews# License: http://www.h2database.com/html/license.html#base=${HOME}browser=safariclasspath=.:/opt/h2/bin/h2.jarnetstat=/usr/sbin/netstatps="ps -axwww"server=org.h2.tools.Serverwebport=8082defaultports="(5435\|${webport}\|9092\|9094)"getpid() { pid=`${ps} | grep java | grep ${server} | awk '{ print $1 };'`}browse() { getpid if [ `${netstat} -an | grep ${webport} | grep -i listen | wc -l` = "1" ] then open -a ${browser} http://localhost:${webport} else echo "H2 not listening on ${webport}." fi}start() { java -cp ${classpath} ${server} -tcp -web -baseDir ${base} & READY=0 while [ $READY -eq 0 ] do sleep 1 READY=`${netstat} -an | grep ${webport} | wc -l` done open -a ${browser} http://localhost:${webport}}stop() { getpid if [ "${pid}x" = "x" ] then echo "No H2 Server running." else echo "Killing H2 Server process id: ${pid}" kill -1 ${pid} fi}status() { getpid if [ "${pid}x" = "x" ] then echo "No H2 Server running." else echo "H2 Server has process id: ${pid}" ${netstat} -an | grep ${defaultports} | grep -i listen fi}restart() { stop start}help() { java -cp ${classpath} ${server} -?}case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) status ;; browse) browse ;; help) help ;; *) echo $"Usage: $0 {start|stop|restart|status|browse|help}" exit 1esacexit $?