blob: 981be31bf1a2a13dc445804b4e6d1d46a4897951 [file] [log] [blame]
rgallardb6435452013-11-25 20:19:02 -08001'\" t
2.\" Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
3.\"
4.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5.\"
6.\" This code is free software; you can redistribute it and/or modify it
7.\" under the terms of the GNU General Public License version 2 only, as
8.\" published by the Free Software Foundation.
9.\"
10.\" This code is distributed in the hope that it will be useful, but WITHOUT
11.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13.\" version 2 for more details (a copy is included in the LICENSE file that
14.\" accompanied this code).
15.\"
16.\" You should have received a copy of the GNU General Public License version
17.\" 2 along with this work; if not, write to the Free Software Foundation,
18.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19.\"
20.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21.\" or visit www.oracle.com if you need additional information or have any
22.\" questions.
23.\"
24.\" Arch: generic
25.\" Software: JDK 8
26.\" Date: 21 November 2013
27.\" SectDesc: Scripting Tools
28.\" Title: jrunscript.1
29.\"
30.if n .pl 99999
31.TH jrunscript 1 "21 November 2013" "JDK 8" "Scripting Tools"
32.\" -----------------------------------------------------------------
33.\" * Define some portability stuff
34.\" -----------------------------------------------------------------
35.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36.\" http://bugs.debian.org/507673
37.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
38.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39.ie \n(.g .ds Aq \(aq
40.el .ds Aq '
41.\" -----------------------------------------------------------------
42.\" * set default formatting
43.\" -----------------------------------------------------------------
44.\" disable hyphenation
45.nh
46.\" disable justification (adjust text to left margin only)
47.ad l
48.\" -----------------------------------------------------------------
49.\" * MAIN CONTENT STARTS HERE *
50.\" -----------------------------------------------------------------
duke6e45e102007-12-01 00:00:00 +000051
rgallardb6435452013-11-25 20:19:02 -080052.SH NAME
53jrunscript \- Runs a command-line script shell that supports interactive and batch modes\&. This command is experimental and unsupported\&.
54.SH SYNOPSIS
55.sp
56.nf
duke6e45e102007-12-01 00:00:00 +000057
rgallardb6435452013-11-25 20:19:02 -080058\fBjrunscript\fR [\fIoptions\fR] [\fIarguments\fR]
59.fi
60.sp
61.TP
62\fIoptions\fR
63The command-line options\&. See Options\&.
64.TP
65\fIarguments\fR
66Arguments, when used, follow immediately after options or the command name\&. See Arguments\&.
67.SH DESCRIPTION
68The \f3jrunscript\fR command is a language-independent command-line script shell\&. The \f3jrunscript\fR command supports both an interactive (read-eval-print) mode and a batch (\f3-f\fR option) mode of script execution\&. By default, JavaScript is the language used, but the \f3-l\fR option can be used to specify a different language\&. By using Java to scripting language communication, the \f3jrunscript\fR command supports an exploratory programming style\&.
69.SH OPTIONS
70.TP
71-classpath \fIpath\fR
72.br
73Indicate where any class files are that the script needs to access\&.
74.TP
75-cp \fIpath\fR
76.br
77Same as \f3-classpath\fR\f3path\fR\&.
78.TP
79-D\fIname\fR=\fIvalue\fR
80.br
81Sets a Java system property\&.
82.TP
83-J\fIflag\fR
84.br
85Passes \f3flag\fR directly to the Java Virtual Machine where the \f3jrunscript\fR command is running\&.
86.TP
87-I \fIlanguage\fR
88.br
89Uses 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 \f3-cp\fR or \f3-classpath\fR option\&.
90.TP
91-e \fIscript\fR
92.br
93Evaluates the specified script\&. This option can be used to run one-line scripts that are specified completely on the command line\&.
94.TP
95-encoding \fIencoding\fR
96.br
97Specifies the character encoding used to read script files\&.
98.TP
99-f \fIscript-file\fR
100.br
101Evaluates the specified script file (batch mode)\&.
102.TP
103-f -
104.br
105Reads and evaluates a script from standard input (interactive mode)\&.
106.TP
107-help
108.br
109Displays a help message and exits\&.
110.TP
111-?
112.br
113Displays a help message and exits\&.
114.TP
115-q
116.br
117Lists all script engines available and exits\&.
118.SH ARGUMENTS
119If arguments are present and if no \f3-e\fR or \f3-f\fR option is used, then the first argument is the script file and the rest of the arguments, if any, are passed to the script\&. If arguments and \f3-e\fR or the \f3-f\fR option are used, then all arguments are passed to the script\&. If arguments, \f3-e\fR and \f3-f\fR are missing, then interactive mode is used\&. Script arguments are available to a script in an engine variable named \f3arguments\fR of type \f3String\fR array\&.
120.SH EXAMPLES
121.SS EXECUTE\ INLINE\ SCRIPTS
122.sp
123.nf
124\f3jrunscript \-e "print(\&'hello world\&')"\fP
125.fi
126.nf
127\f3jrunscript \-e "cat(\&'http://www\&.example\&.com\&')"\fP
128.fi
129.nf
130\f3\fP
131.fi
132.sp
133.SS USE\ SPECIFIED\ LANGUAGE\ AND\ EVALUATE\ THE\ SCRIPT\ FILE
134.sp
135.nf
136\f3jrunscript \-l js \-f test\&.js\fP
137.fi
138.nf
139\f3\fP
140.fi
141.sp
142.SS INTERACTIVE\ MODE
143.sp
144.nf
145\f3jrunscript\fP
146.fi
147.nf
148\f3js> print(\&'Hello World\en\&');\fP
149.fi
150.nf
151\f3Hello World\fP
152.fi
153.nf
154\f3js> 34 + 55\fP
155.fi
156.nf
157\f389\&.0\fP
158.fi
159.nf
160\f3js> t = new java\&.lang\&.Thread(function() { print(\&'Hello World\en\&'); })\fP
161.fi
162.nf
163\f3Thread[Thread\-0,5,main]\fP
164.fi
165.nf
166\f3js> t\&.start()\fP
167.fi
168.nf
169\f3js> Hello World\fP
170.fi
171.nf
172\f3\fP
173.fi
174.nf
175\f3js>\fP
176.fi
177.nf
178\f3\fP
179.fi
180.sp
181.SS RUN\ SCRIPT\ FILE\ WITH\ SCRIPT\ ARGUMENTS
182The test\&.js file is the script file\&. The \f3arg1\fR, \f3arg2\fR and \f3arg3\fR arguments are passed to the script\&. The script can access these arguments with an arguments array\&.
183.sp
184.nf
185\f3jrunscript test\&.js arg1 arg2 arg3\fP
186.fi
187.nf
188\f3\fP
189.fi
190.sp
191.SH SEE\ ALSO
192If JavaScript is used, then before it evaluates a user defined script, the \f3jrunscript\fR command initializes certain built-in functions and objects\&. These JavaScript built-ins are documented in JsDoc-Toolkit at http://code\&.google\&.com/p/jsdoc-toolkit/
193.RE
194.br
195'pl 8.5i
196'bp