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 ${1+$@} 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.