Man pages sections > man1 > clojure1

clojure - a JVM-based dynamic programming language

CLOJURE(1) General Commands Manual CLOJURE(1)


clojure - a JVM-based dynamic programming language


clojure [ -cp/-classpath classpath] [-i/--init path] [-e/--eval expr ] {-h | -r | path | -} [args ...]


This manual page documents briefly the clojure command.
clojure is the main entry point for Clojure, a dynamic programming language that targets the Java Virtual Machine. With no options or arguments, it runs an interactive Read-Eval-Print loop (REPL).


A summary of options is included below.
-cp, -classpath classpath
Specifies additional classpath elements. Overrides the $CLASSPATH environment variable. Must appear first if given.
-i, --init path
Load a file or resource at initialisation time. May be specified multiple times.
-e, --eval string
Evaluate expressions in string; print non-nil values. May be specified multiple times.
-m, --main ns-name
Call the -main function from a namespace with args
-r, --repl
Run a repl
Run a script from a file or resource
Run a script from standard input
-h, -?, --help
Print a help message and exit


A Clojure file can be provided as a path argument. Files to be loaded from the classpath must be prefixed with a `@' character, and must be an absolute path to the classpath resource. Note that the path will be treated as absolute within the classpath, whether it is prefixed with a slash or not.
clojure binds *command-line-args* to a seq containing the (optional) arguments provided after the path argument; this provides a way to provide command-line arguments to your scripts.


A listing of recognised environment variables is included below.
Specifies additional classpath elements.




clojure is a wrapper script around a Java implementation by Rich Hickey <>. The wrapper script was written by Peter Collingbourne <>.
This manual page was written by Peter Collingbourne <>, for the Debian project (but may be used by others).
Debian Sid