Command Line Options 🖥️
Ruby interpreter accepts the following command-line options (switches). They're largely similar to Perl's options.
-0digit 📖
- Sets the input record separator ($/) as an octal number. No digits mean the null character is the separator. -00 initiates Ruby's paragraph mode. -0777 makes Ruby process an entire file as one string.
-a 🚀
- Activates auto-split mode with -n or -p. In this mode, Ruby runs
$F = $_.split
at the start of each loop.
- Activates auto-split mode with -n or -p. In this mode, Ruby runs
-c ✅
- Ruby checks the script's syntax and exits. If there's no error, "Syntax OK" is displayed.
-Kc 🈸
- Defines KANJI (Japanese character) code-set.
-d, --debug 🔍
- Enables debug mode.
$DEBUG
is set to true.
- Enables debug mode.
-e script 📜
- Takes script from the command-line. Ruby won't look for a script filename in the arguments with this switch.
-F regexp 🔗
- Determines input field separator ($;).
-h, --help ❓
- Shows a summary of the options.
-i extension 📝
- Specifies in-place-edit mode. If provided, the extension is added to the old filename for backup.
Example:
% echo matz > /tmp/junk % cat /tmp/junk matz % ruby -p -i.bak -e '$_.upcase!' /tmp/junk % cat /tmp/junk MATZ % cat /tmp/junk.bakmatzk.bak matz
-I directory 📂
- Tells Ruby where to load library scripts. This path is added to the load-path variable (
$:
).
- Tells Ruby where to load library scripts. This path is added to the load-path variable (
-l 🔚
- Enables automatic line-ending processing. It sets $\ to the value of $/ and uses chop! on every line when used with -n or -p.
-n 🔄
- Makes Ruby assume a loop around your script, similar to sed -n or awk.
-p 🖨️
- Similar to -n, but prints the value of variable $_ at each loop's end.
-r filename 📁
- Requires Ruby to load the file. Useful with -n or -p switches.
-s 🔄
- Enables parsing for switches after the script name but before any filename arguments.
-S 🔍
- Makes Ruby use the PATH environment variable to search for the script.
-T [level] 🛡️
- Enables "taint" checks. If a level is specified, it sets
$SAFE
to that level.
- Enables "taint" checks. If a level is specified, it sets
-v, --verbose 🗣️
- Enables verbose mode. Ruby will print its version at the start.
--version 🆚
- Displays Ruby's version.
-w 📢
- Enables verbose mode without the version message. Sets
$VERBOSE
to true.
- Enables verbose mode without the version message. Sets
-x[directory] 🗺️
- Indicates the script is embedded in a message.
-X directory 🗺️
- Makes Ruby switch to the specified directory.
-y, --yydebug 🐛
- Enables compiler debug mode. Useful for debugging the Ruby interpreter itself.
Parent topic: ICM Exchange for Autodesk ⚙️🔄