JRUNSCRIPT(1)

πŸ“¦ version 21.0.12.1.1, in centos-stream 10, opensuse-leap 16.0

πŸŽ€ 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 the jrunscript command-line options you can use. see Options for the jrunscript Command, 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 path or -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 β€” passes flag directly to the Java Virtual Machine where the jrunscript command 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 -cp or -classpath option. 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 ⭐
  • -help or -? β€” 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