--- # Copyright (c) 2006, 2024, Oracle and/or its affiliates. All rights reserved.# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.## This code is free software; you can redistribute it and/or modify it# under the terms of the GNU General Public License version 2 only, as# published by the Free Software Foundation.## This code is distributed in the hope that it will be useful, but WITHOUT# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License# version 2 for more details (a copy is included in the LICENSE file that# accompanied this code).## You should have received a copy of the GNU General Public License version# 2 along with this work; if not, write to the Free Software Foundation,# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.## Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA# or visit www.oracle.com if you need additional information or have any# questions.#title: 'JRUNSCRIPT(1) JDK @@VERSION_SHORT@@ | JDK Commands'date: @@COPYRIGHT_YEAR@@lang: en ---
jrunscript - run a command-line script shell that supports interactive and batch modes
Note:
This tool is experimental and unsupported. It is deprecated and will be removed in a future release.
jrunscript
[options] [arguments]
options : This represents the jrunscript
command-line options that can be used. See [Options for the jrunscript Command].
arguments : 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.
-cp
path or -classpath
path : Indicates where any class files are that the script needs to access.
-D
name=
value : Sets a Java system property.
-J
flag : Passes flag directly to the Java Virtual Machine where the jrunscript
command is running.
-l
language : 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.
-e
script : Evaluates the specified script. This option can be used to run one-line scripts that are specified completely on the command line.
-encoding
encoding : Specifies the character encoding used to read script files.
-f
script-file : Evaluates the specified script file (batch mode).
-f -
: Enters interactive mode to read and evaluate a script from standard input.
-help
or -?
: Displays a help message and exits.
-q
: 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