JRUNSCRIPT(1) JDK Commands JRUNSCRIPT(1)

jrunscript - run a command-line script shell that supports interactive and batch modes

Note:

This tool is experimental and unsupported.

jrunscript [options] [arguments]

This represents the jrunscript command-line options that can be used. See Options for the jrunscript Command.
Arguments, when used, follow immediately after options or the command name. See Arguments.

The jrunscript command is a language-independent command-line script shell. The jrunscript command supports both an interactive (read-eval-print) mode and a batch (-f option) mode of script execution. By default, JavaScript is the language used, but the -l option can be used to specify a different language. By using Java to scripting language communication, the jrunscript command supports an exploratory programming style.

If JavaScript is used, then before it evaluates a user defined script, the jrunscript command initializes certain built-in functions and objects, which are documented in the API Specification for jrunscript JavaScript built-in functions.

Indicates where any class files are that the script needs to access.
Sets a Java system property.
Passes flag directly to the Java Virtual Machine where the jrunscript command is running.
Uses the specified scripting language. By default, JavaScript is used. To use other scripting languages, you must specify the corresponding script engine's JAR file with the -cp or -classpath option.
Evaluates the specified script. This option can be used to run one-line scripts that are specified completely on the command line.
Specifies the character encoding used to read script files.
Evaluates the specified script file (batch mode).
Enters interactive mode to read and evaluate a script from standard input.
Displays a help message and exits.
Lists all script engines available and exits.

If arguments are present and if no -e or -f option is used, then the first argument is the script file and the rest of the arguments, if any, are passed as script arguments. If arguments and the -e or the -f option are used, then all arguments are passed as script arguments. If arguments -e and -f are missing, then the interactive mode is used.

jrunscript -e "print('hello world')"

jrunscript -e "cat('http://www.example.com')"

jrunscript -l js -f test.js


jrunscript
js> print('Hello World\n');
Hello World
js> 34 + 55
89.0
js> t = new java.lang.Thread(function() { print('Hello World\n'); })
Thread[Thread-0,5,main]
js> t.start()
js> Hello World
js>

In this example, the test.js file is the script file. The arg1, arg2, and arg3 arguments are passed to the script. The script can access these arguments with an arguments array.

jrunscript test.js arg1 arg2 arg3

2021 JDK 17