jruby(1) Interpreted object-oriented scripting language

SYNOPSIS

[--copyright ] [--version ] [-Sacdlnpswvy ] [-0 [octal ] ] [-C directory ] [-F pattern ] [-I directory ] [-K c ] [-T [level ] ] [-e command ] [-i [extension ] ] [-r library ] [-x [directory ] ] [-- ] [program_file ] [argument ... ]

DESCRIPTION

Jruby is a 100% pure-Java implementation of Ruby, an interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, and extensible.

OPTIONS

Ruby interpreter accepts following command-line options (switches). They are quite similar to those of perl(1).

--copyright
Prints the copyright notice.

--version
Prints the version of Ruby interpreter.

-0 [octal ]
(The digit ``zero .'' Specifies the input record separator ( $/ as an octal number. If no digit is given, the null character is taken as the separator. Other switches may follow the digits. -00 turns Ruby into paragraph mode. -0777 makes Ruby read whole file at once as a single string since there is no legal character with that value.

-C directory
Causes Ruby to switch to the directory.

-F pattern
Specifies input field separator ( $;

-I directory
Used to tell Ruby where to load the library scripts. Directory path will be added to the load-path variable ( $:

-K kcode
Specifies KANJI (Japanese) encoding.

-S
Makes Ruby use the PATH environment variable to search for script, unless if its name begins with a slash. This is used to emulate #! on machines that don't support it, in the following manner:
#! /usr/local/bin/ruby
# This line makes the next one a comment in Ruby \
  exec /usr/local/bin/ruby -S $0 $*

-T [level ]
Turns on taint checks at the specified level (default 1).

-a
Turns on auto-split mode when used with -n or -p In auto-split mode, Ruby executes
$F = $_.split
at beginning of each loop.

-c
Causes Ruby to check the syntax of the script and exit without executing. If there are no syntax errors, Ruby will print ``Syntax OK'' to the standard output.

-d
--debug
Turns on debug mode. $DEBUG will be set to true.

-e command
Specifies script from command-line while telling Ruby not to search the rest of arguments for a script file name.

-h
--help
Prints a summary of the options.

-i extension
Specifies in-place-edit mode. The extension, if specified, is added to old file name to make a backup copy. For example:
% echo matz > /tmp/junk
% cat /tmp/junk
matz
% ruby -p -i.bak -e '$_.upcase!' /tmp/junk
% cat /tmp/junk
MATZ
% cat /tmp/junk.bak
matz

-l
(The lowercase letter ``ell .'' Enables automatic line-ending processing, which means to firstly set $\ to the value of $/ and secondly chops every line read using chop!

-n
Causes Ruby to assume the following loop around your script, which makes it iterate over file name arguments somewhat like sed -n or awk
while gets
  ...
end

-p
Acts mostly same as -n switch, but print the value of variable $_ at the each end of the loop. For example:
% echo matz | ruby -p -e '$_.tr! "a-z", "A-Z"'
MATZ

-r library
Causes Ruby to load the library using require. It is useful when using -n or -p

-s
Enables some switch parsing for switches after script name but before any file name arguments (or before a -- ) Any switches found there are removed from ARGV and set the corresponding variable in the script. For example:
#! /usr/local/bin/ruby -s
# prints "true" if invoked with `-xyz' switch.
print "true\n" if $xyz

On some systems $0 does not always contain the full pathname, so you need the -S switch to tell Ruby to search for the script if necessary. To handle embedded spaces or such. A better construct than $* would be ${[email protected]} but it does not work if the script is being interpreted by csh(1).

-v
--verbose
Enables verbose mode. Ruby will print its version at the beginning, and set the variable $VERBOSE to true. Some methods print extra messages if this variable is true. If this switch is given, and no other switches are present, Ruby quits after printing its version.

-w
Enables verbose mode without printing version message at the beginning. It sets the $VERBOSE variable to true.

-x [directory ]
Tells Ruby that the script is embedded in a message. Leading garbage will be discarded until the first that starts with ``#!'' and contains the string, ``ruby'' Any meaningful switches on that line will applied. The end of script must be specified with either EOF ^D ( control-D ^Z ( control-Z or reserved word __END__ If the directory name is specified, Ruby will switch to that directory before executing script.

-y
--yydebug
Turns on compiler debug mode. Ruby will print a bunch of internal state messages during compiling scripts. You don't have to specify this switch, unless you are going to debug the Ruby interpreter.