1 .\" Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved. 2 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 .\" 4 .\" This code is free software; you can redistribute it and/or modify it 5 .\" under the terms of the GNU General Public License version 2 only, as 6 .\" published by the Free Software Foundation. 7 .\" 8 .\" This code is distributed in the hope that it will be useful, but WITHOUT 9 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10 .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11 .\" version 2 for more details (a copy is included in the LICENSE file that 12 .\" accompanied this code). 13 .\" 14 .\" You should have received a copy of the GNU General Public License version 15 .\" 2 along with this work; if not, write to the Free Software Foundation, 16 .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 17 .\" 18 .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 19 .\" or visit www.oracle.com if you need additional information or have any 20 .\" questions. 21 .\" 22 .\" Automatically generated by Pandoc 2.3.1 23 .\" 24 .TH "JRUNSCRIPT" "1" "2020" "JDK 14" "JDK Commands" 25 .hy 26 .SH NAME 27 .PP 28 jrunscript \- run a command\-line script shell that supports interactive 29 and batch modes 30 .SH SYNOPSIS 31 .PP 32 \f[B]Note:\f[R] 33 .PP 34 This tool is \f[B]experimental\f[R] and unsupported. 35 .PP 36 \f[CB]jrunscript\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] 37 .TP 38 .B \f[I]options\f[R] 39 This represents the \f[CB]jrunscript\f[R] command\-line options that can 40 be used. 41 See \f[B]Options for the jrunscript Command\f[R]. 42 .RS 43 .RE 44 .TP 45 .B \f[I]arguments\f[R] 46 Arguments, when used, follow immediately after options or the command 47 name. 48 See \f[B]Arguments\f[R]. 49 .RS 50 .RE 51 .SH DESCRIPTION 52 .PP 53 The \f[CB]jrunscript\f[R] command is a language\-independent command\-line 54 script shell. 55 The \f[CB]jrunscript\f[R] command supports both an interactive 56 (read\-eval\-print) mode and a batch (\f[CB]\-f\f[R] option) mode of 57 script execution. 58 By default, JavaScript is the language used, but the \f[CB]\-l\f[R] option 59 can be used to specify a different language. 60 By using Java to scripting language communication, the 61 \f[CB]jrunscript\f[R] command supports an exploratory programming style. 62 .PP 63 If JavaScript is used, then before it evaluates a user defined script, 64 the \f[CB]jrunscript\f[R] command initializes certain built\-in functions 65 and objects, which are documented in the API Specification for 66 \f[CB]jrunscript\f[R] JavaScript built\-in functions. 67 .SH OPTIONS FOR THE JRUNSCRIPT COMMAND 68 .TP 69 .B \f[CB]\-cp\f[R] \f[I]path\f[R] or \f[CB]\-classpath\f[R] \f[I]path\f[R] 70 Indicates where any class files are that the script needs to access. 71 .RS 72 .RE 73 .TP 74 .B \f[CB]\-D\f[R]\f[I]name\f[R]\f[CB]=\f[R]\f[I]value\f[R] 75 Sets a Java system property. 76 .RS 77 .RE 78 .TP 79 .B \f[CB]\-J\f[R]\f[I]flag\f[R] 80 Passes \f[I]flag\f[R] directly to the Java Virtual Machine where the 81 \f[CB]jrunscript\f[R] command is running. 82 .RS 83 .RE 84 .TP 85 .B \f[CB]\-l\f[R] \f[I]language\f[R] 86 Uses the specified scripting language. 87 By default, JavaScript is used. 88 To use other scripting languages, you must specify the corresponding 89 script engine\[aq]s JAR file with the \f[CB]\-cp\f[R] or 90 \f[CB]\-classpath\f[R] option. 91 .RS 92 .RE 93 .TP 94 .B \f[CB]\-e\f[R] \f[I]script\f[R] 95 Evaluates the specified script. 96 This option can be used to run one\-line scripts that are specified 97 completely on the command line. 98 .RS 99 .RE 100 .TP 101 .B \f[CB]\-encoding\f[R] \f[I]encoding\f[R] 102 Specifies the character encoding used to read script files. 103 .RS 104 .RE 105 .TP 106 .B \f[CB]\-f\f[R] \f[I]script\-file\f[R] 107 Evaluates the specified script file (batch mode). 108 .RS 109 .RE 110 .TP 111 .B \f[CB]\-f\ \-\f[R] 112 Enters interactive mode to read and evaluate a script from standard 113 input. 114 .RS 115 .RE 116 .TP 117 .B \f[CB]\-help\f[R] or \f[CB]\-?\f[R] 118 Displays a help message and exits. 119 .RS 120 .RE 121 .TP 122 .B \f[CB]\-q\f[R] 123 Lists all script engines available and exits. 124 .RS 125 .RE 126 .SH ARGUMENTS 127 .PP 128 If arguments are present and if no \f[CB]\-e\f[R] or \f[CB]\-f\f[R] option 129 is used, then the first argument is the script file and the rest of the 130 arguments, if any, are passed as script arguments. 131 If arguments and the \f[CB]\-e\f[R] or the \f[CB]\-f\f[R] option are used, 132 then all arguments are passed as script arguments. 133 If arguments \f[CB]\-e\f[R] and \f[CB]\-f\f[R] are missing, then the 134 interactive mode is used. 135 .SH EXAMPLE OF EXECUTING INLINE SCRIPTS 136 .RS 137 .PP 138 \f[CB]jrunscript\ \-e\ "print(\[aq]hello\ world\[aq])"\f[R] 139 .RE 140 .RS 141 .PP 142 \f[CB]jrunscript\ \-e\ "cat(\[aq]http://www.example.com\[aq])"\f[R] 143 .RE 144 .SH EXAMPLE OF USING SPECIFIED LANGUAGE AND EVALUATE THE SCRIPT FILE 145 .RS 146 .PP 147 \f[CB]jrunscript\ \-l\ js\ \-f\ test.js\f[R] 148 .RE 149 .SH EXAMPLE OF INTERACTIVE MODE 150 .IP 151 .nf 152 \f[CB] 153 jrunscript 154 js>\ print(\[aq]Hello\ World\\n\[aq]); 155 Hello\ World 156 js>\ 34\ +\ 55 157 89.0 158 js>\ t\ =\ new\ java.lang.Thread(function()\ {\ print(\[aq]Hello\ World\\n\[aq]);\ }) 159 Thread[Thread\-0,5,main] 160 js>\ t.start() 161 js>\ Hello\ World 162 163 js> 164 \f[R] 165 .fi 166 .SH RUN SCRIPT FILE WITH SCRIPT ARGUMENTS 167 .PP 168 In this example, the \f[CB]test.js\f[R] file is the script file. 169 The \f[CB]arg1\f[R], \f[CB]arg2\f[R], and \f[CB]arg3\f[R] arguments are passed 170 to the script. 171 The script can access these arguments with an arguments array. 172 .RS 173 .PP 174 \f[CB]jrunscript\ test.js\ arg1\ arg2\ arg3\f[R] 175 .RE