Copyright © tutorialspoint.com

# Ruby Command Line Options

Ruby is generally run from the command line in the following way:

    $ ruby [ options ] [.] [ programfile ] [ arguments ... ]

The interpreter can be invoked with any of the following options to control the environment and behavior of the interpreter.

Option | Description
--- | ---
-a | Used with -n or -p to split each line. Check -n and -p options.
-c | Checks syntax only, without executing program.
-C dir | Changes directory before executing (equivalent to -X).
-d | Enables debug mode (equivalent to -debug).
-F pat | Specifies pat as the default separator pattern ($;) used by split.
-e prog | Specifies prog as the program from the command line. Specify multiple -e options for multiline programs.
-h | Displays an overview of command-line options.
-i [ ext] | Overwrites the file contents with program output. The original file is saved with the extension ext. If ext isn't specified, the original file is deleted.
-I dir | Adds dir as the directory for loading libraries.
-K [ kcode] | Specifies the multibyte character set code (e or E for EUC (extended Unix code); s or S for SJIS (Shift-JIS); u or U for UTF-8; and a, A, n, or N for ASCII).
-l | Enables automatic line-end processing. Chops a newline from input lines and appends a newline to output lines.
-n | Places code within an input loop (as in while gets; ... end).
-0[ octal] | Sets default record separator ($/) as an octal. Defaults to \0 if octal not specified.
-p | Places code within an input loop. Writes $_ for each iteration.
-r lib | Uses require to load lib as a library before executing.
-s | Interprets any arguments between the program name and filename arguments fitting the pattern -xxx as a switch and defines the corresponding variable.
-T [level] | Sets the level for tainting checks (1 if level not specified).
-v | Displays version and enables verbose mode
-w | Enables verbose mode. If programfile not specified, reads from STDIN.
-x [dir] | Strips text before #!ruby line. Changes directory to dir before executing if dir is specified.
-X dir | Changes directory before executing (equivalent to -C).
-y | Enables parser debug mode.
--copyright | Displays copyright notice.
--debug | Enables debug mode (equivalent to -d).
--help | Displays an overview of command-line options (equivalent to -h).
--version | Displays version.
--verbose | Enables verbose mode (equivalent to -v). Sets $VERBOSE to true
--yydebug | Enables parser debug mode (equivalent to -y).

Single character command-line options can be combined. The following two lines express the same meaning:

$ruby -ne 'print if /Ruby/' /usr/share/bin $ruby -n -e 'print if /Ruby/' /usr/share/bin

Copyright © tutorialspoint.com