.\" Automatically generated by Pandoc 3.1.12.1 .\" .TH "JRUNSCRIPT" "1" "2025" "JDK 24.0.1" "JDK Commands" .SH NAME jrunscript \- run a command\-line script shell that supports interactive and batch modes .SH SYNOPSIS \f[B]Note:\f[R] .PP This tool is \f[B]experimental\f[R] and unsupported. It is deprecated and will be removed in a future release. .PP \f[CR]jrunscript\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] .TP \f[I]options\f[R] This represents the \f[CR]jrunscript\f[R] command\-line options that can be used. See \f[B]Options for the jrunscript Command\f[R]. .TP \f[I]arguments\f[R] Arguments, when used, follow immediately after options or the command name. See \f[B]Arguments\f[R]. .SH DESCRIPTION The \f[CR]jrunscript\f[R] command is a language\-independent command\-line script shell. The \f[CR]jrunscript\f[R] command supports both an interactive (read\-eval\-print) mode and a batch (\f[CR]\-f\f[R] option) mode of script execution. By default, JavaScript is the language used, but the \f[CR]\-l\f[R] option can be used to specify a different language. By using Java to scripting language communication, the \f[CR]jrunscript\f[R] command supports an exploratory programming style. .PP If JavaScript is used, then before it evaluates a user defined script, the \f[CR]jrunscript\f[R] command initializes certain built\-in functions and objects, which are documented in the API Specification for \f[CR]jrunscript\f[R] JavaScript built\-in functions. .SH OPTIONS FOR THE JRUNSCRIPT COMMAND .TP \f[CR]\-cp\f[R] \f[I]path\f[R] or \f[CR]\-classpath\f[R] \f[I]path\f[R] Indicates where any class files are that the script needs to access. .TP \f[CR]\-D\f[R]\f[I]name\f[R]\f[CR]=\f[R]\f[I]value\f[R] Sets a Java system property. .TP \f[CR]\-J\f[R]\f[I]flag\f[R] Passes \f[I]flag\f[R] directly to the Java Virtual Machine where the \f[CR]jrunscript\f[R] command is running. .TP \f[CR]\-l\f[R] \f[I]language\f[R] Uses the specified scripting language. By default, JavaScript is used. To use other scripting languages, you must specify the corresponding script engine\[aq]s JAR file with the \f[CR]\-cp\f[R] or \f[CR]\-classpath\f[R] option. .TP \f[CR]\-e\f[R] \f[I]script\f[R] Evaluates the specified script. This option can be used to run one\-line scripts that are specified completely on the command line. .TP \f[CR]\-encoding\f[R] \f[I]encoding\f[R] Specifies the character encoding used to read script files. .TP \f[CR]\-f\f[R] \f[I]script\-file\f[R] Evaluates the specified script file (batch mode). .TP \f[CR]\-f \-\f[R] Enters interactive mode to read and evaluate a script from standard input. .TP \f[CR]\-help\f[R] or \f[CR]\-?\f[R] Displays a help message and exits. .TP \f[CR]\-q\f[R] Lists all script engines available and exits. .SH ARGUMENTS If arguments are present and if no \f[CR]\-e\f[R] or \f[CR]\-f\f[R] 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 \f[CR]\-e\f[R] or the \f[CR]\-f\f[R] option are used, then all arguments are passed as script arguments. If arguments \f[CR]\-e\f[R] and \f[CR]\-f\f[R] are missing, then the interactive mode is used. .SH EXAMPLE OF EXECUTING INLINE SCRIPTS .RS .PP \f[CR]jrunscript \-e \[dq]print(\[aq]hello world\[aq])\[dq]\f[R] .RE .RS .PP \f[CR]jrunscript \-e \[dq]cat(\[aq]http://www.example.com\[aq])\[dq]\f[R] .RE .SH EXAMPLE OF USING SPECIFIED LANGUAGE AND EVALUATE THE SCRIPT FILE .RS .PP \f[CR]jrunscript \-l js \-f test.js\f[R] .RE .SH EXAMPLE OF INTERACTIVE MODE .IP .EX jrunscript js> print(\[aq]Hello World\[rs]n\[aq]); Hello World js> 34 + 55 89.0 js> t = new java.lang.Thread(function() { print(\[aq]Hello World\[rs]n\[aq]); }) Thread[Thread\-0,5,main] js> t.start() js> Hello World js> .EE .SH RUN SCRIPT FILE WITH SCRIPT ARGUMENTS In this example, the \f[CR]test.js\f[R] file is the script file. The \f[CR]arg1\f[R], \f[CR]arg2\f[R], and \f[CR]arg3\f[R] arguments are passed to the script. The script can access these arguments with an arguments array. .RS .PP \f[CR]jrunscript test.js arg1 arg2 arg3\f[R] .RE