Skip to content

Instantly share code, notes, and snippets.

@fred-o
Created August 12, 2009 08:18
Show Gist options
  • Save fred-o/166391 to your computer and use it in GitHub Desktop.
Save fred-o/166391 to your computer and use it in GitHub Desktop.
clojure startup script
#!/bin/bash
# Please make sure to configure ~/.clojure.conf or /etc/clojure.conf
# sample configuration can be found at clojure.conf.sample
#
# Note, running this script will:
# - Run ~/.clojurerc on boot up (if exists)
# - Add all .jar files within clj_ext (~/.clojure on default)
# to the classpath
#
#
if [[ ! -f /etc/clojure.conf && ! -f ~/.clojure.conf ]]; then
echo "Error: No config not found at /etc/clojure.conf or ~/.clojure.conf."
echo " Please provide one before starting this script."
echo " A sample can be found in the emacs-clojure repository named "
echo " clojure.conf.sample"
exit
fi
# Whether to load the repl or script
if [ -z "$1" ]; then
clj_class=clojure.lang.Repl
else
clj_class=clojure.lang.Script
fi
clj_cp="."
[ -f /etc/clojure.conf ] && . /etc/clojure.conf
[ -f ~/.clojure.conf ] && . ~/.clojure.conf
[ -f ~/.clojurerc ] && clj_rc=~/.clojurerc
# [ -d "${clj_ext}" ] && clj_cp="${clj_cp}:${clj_ext}/*"
# Expand the class path since Java5 can't do it
if [ -d "${clj_ext}" ]; then
for f in ${clj_ext}/*; do
clj_cp="${clj_cp}:$f"
done
else
clj_cp="${clj_cp}:${clj_ext}"
fi
if [[ -n "${clj_lib}" ]]; then
export LD_LIBRARY_PATH=${clj_lib}:$LD_LIBRARY_PATH
fi
exec java -Dpid=$$ ${clj_opts} -cp ${clj_cp}:${clj}:${clj_workdir} ${clj_wrapper} ${clj_class} ${clj_rc} $*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment