| --- | |
| # 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 | |
| --- | |
| ## Name | |
| jrunscript - run a command-line script shell that supports interactive and | |
| batch modes | |
| ## Synopsis | |
| **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]. | |
| ## Description | |
| 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. | |
| ## Options for the jrunscript Command | |
| `-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. | |
| ## Arguments | |
| 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. | |
| ## Example of Executing Inline Scripts | |
| > `jrunscript -e "print('hello world')"` | |
| > `jrunscript -e "cat('http://www.example.com')"` | |
| ## Example of Using Specified Language and Evaluate the Script File | |
| > `jrunscript -l js -f test.js` | |
| ## Example of Interactive Mode | |
| ``` | |
| 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> | |
| ``` | |
| ## Run Script File with Script Arguments | |
| 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` |