jruby1
Interpreted object-oriented scripting language
Usage
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 ...]
Overview
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.
-00turns Ruby into paragraph mode.-0777makes 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
-nor-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-norawk.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
-nor-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
-Sswitch 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.
Releases
Unchanged in 6 releases since Debian 7 (Wheezy).