JRUNSCRIPT(1)
π NAME π
okay bestie, welcome to jrunscript(1) from the JDK Commands manual π β this is the command that runs a command-line script shell that supports interactive and batch modes. periodt β¨
β¨ SYNOPSIS β¨
β οΈ Note: this tool is experimental and unsupported. like, it's giving experimental era, bestie π
jrunscript [options] [arguments]
optionsβ these are thejrunscriptcommand-line options you can use. see Options for thejrunscriptCommand, bestie πargumentsβ when used, these follow immediately after options or the command name. see Arguments π«Ά
π DESCRIPTION π
The jrunscript command is a language-independent command-line script shell. it 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. slay π
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. yes, that's the whole vibe β¨
π OPTIONS FOR THE JRUNSCRIPT COMMAND π
-cp pathor-classpath pathβ tells it where any class files are that the script needs to access. like, where the class files live, bestie π-Dname=valueβ sets a Java system property. classic βοΈ-Jflagβ passesflagdirectly to the Java Virtual Machine where thejrunscriptcommand is running. straight through, no detours π-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-cpor-classpathoption. iykyk π«Ά-e scriptβ evaluates the specified script. this option can be used to run one-line scripts that are specified completely on the command line. one-liner queen behavior π-encoding encodingβ specifies the character encoding used to read script files. gotta decode the vibes correctly πΈ-f script-fileβ evaluates the specified script file (batch mode). file mode activated π-f -β enters interactive mode to read and evaluate a script from standard input. yes, standard input is the moment β-helpor-?β displays a help message and exits. we love a helpful icon π-qβ lists all script engines available and exits. engine inventory time π₯
π¦ 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. that's the whole little flowchart, bestie π
πΈ EXAMPLE OF EXECUTING INLINE SCRIPTS πΈ
jrunscript -e "print('hello world')"
jrunscript -e "cat('http://www.example.com')"
inline scripts, no cap π
π EXAMPLE OF USING SPECIFIED LANGUAGE AND EVALUATE THE SCRIPT FILE π
jrunscript -l js -f test.js
specified language + evaluate the script file, iconic β¨
β 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>
interactive mode really said main character energy π
π 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. yes bestie, an arguments array π«Ά
jrunscript test.js arg1 arg2 arg3
mwah π β this is from JDK 21, dated 2023, and it's the jrunscript(1) page. πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: java-21-openj9-devel 21.0.11.0-bp160.1.1 Β· Apache-1.1 AND Apache-2.0 AND EPL-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND LicenseRef-SUSE-Public-Domain AND W3C
- opensuse-leap 16.0: java-21-openj9-devel 21.0.11.0-bp160.1.1 Β· Apache-1.1 AND Apache-2.0 AND EPL-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND LicenseRef-SUSE-Public-Domain AND W3C
- opensuse-leap 16.0: java-21-openj9-devel 21.0.11.0-bp160.1.1 Β· Apache-1.1 AND Apache-2.0 AND EPL-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND LicenseRef-SUSE-Public-Domain AND W3C
- opensuse-leap 16.0: java-21-openj9-devel 21.0.11.0-bp160.1.1 Β· Apache-1.1 AND Apache-2.0 AND EPL-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND LicenseRef-SUSE-Public-Domain AND W3C
- Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms