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