Man Linux: Main Page and Category List

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.

                          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.