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