NAME¶
jruby
—
Interpreted object-oriented scripting language
SYNOPSIS¶
jruby |
[--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
.
-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.