JShell is a UNIX-like shell written in Java, and intended primarily for working with Java programs. It was written to simplify Java development on Psion's 5mx, but can be used with any JDK 1.1.x (or higher) JVM on Windows, Linux, or other Unixes. JShell's features include directory commands (ls, cd, pushd, popd, dirs, etc.), examining and setting environment variables, Java compilation and execution (compilation is done using javac), piping and redirection, support for background jobs (running and killing jobs in the background), and command recall (history, !!, !).