OS Manuals

/usr/bin/ruby

the Ruby programming language

From ruby-3.1 3.1.7-r4 (os), captured 2026-11-05 by running ruby --help (exit 0). permalink

Usage: /usr/bin/ruby [switches] [--] [programfile] [arguments]
  -0[octal]       specify record separator (\0, if no argument)
  -a              autosplit mode with -n or -p (splits $_ into $F)
  -c              check syntax only
  -Cdirectory     cd to directory before executing your script
  -d, --debug     set debugging flags (set $DEBUG to true)
  -e 'command'    one line of script. Several -e's allowed. Omit [programfile]
  -Eex[:in], --encoding=ex[:in]
                  specify the default external and internal character encodings
  -Fpattern       split() pattern for autosplit (-a)
  -i[extension]   edit ARGV files in place (make backup if extension supplied)
  -Idirectory     specify $LOAD_PATH directory (may be used more than once)
  -l              enable line ending processing
  -n              assume 'while gets(); ... end' loop around your script
  -p              assume loop like -n but print line also like sed
  -rlibrary       require the library before executing your script
  -s              enable some switch parsing for switches after script name
  -S              look for the script using PATH environment variable
  -v              print the version number, then turn on verbose mode
  -w              turn warnings on for your script
  -W[level=2|:category]
                  set warning level; 0=silence, 1=medium, 2=verbose
  -x[directory]   strip off text before #!ruby line and perhaps cd to directory
  --jit           enable JIT for the platform, same as --yjit (experimental)
  --mjit          enable C compiler-based JIT compiler (experimental)
  --yjit          enable in-process JIT compiler (experimental)
  --copyright     print the copyright
  --dump={insns|parsetree|...}[,...]
                  dump debug information. see below for available dump list
  --enable={mjit|rubyopt|...}[,...], --disable={mjit|rubyopt|...}[,...]
                  enable or disable features. see below for available features
  --external-encoding=encoding, --internal-encoding=encoding
                  specify the default external or internal character encoding
  --backtrace-limit=num
                  limit the maximum length of backtrace
  --verbose       turn on verbose mode and disable script from stdin
  --version       print the version number, then exit
  --help          show this message, -h for short message
Dump List:
  insns           instruction sequences
  insns_without_opt
                  instruction sequences compiled with no optimization
  yydebug         yydebug of yacc parser generator
  parsetree       AST
  parsetree_with_comment
                  AST with comments
Features:
  gems            rubygems (only for debugging, default: enabled)
  error_highlight error_highlight (default: enabled)
  did_you_mean    did_you_mean (default: enabled)
  rubyopt         RUBYOPT environment variable (default: enabled)
  frozen-string-literal
                  freeze all string literals (default: disabled)
  mjit            C compiler-based JIT compiler (default: disabled)
  yjit            in-process JIT compiler (default: disabled)
Warning categories:
  deprecated      deprecated features
  experimental    experimental features
MJIT options (experimental):
  --mjit-warnings Enable printing JIT warnings
  --mjit-debug    Enable JIT debugging (very slow), or add cflags if specified
  --mjit-wait     Wait until JIT compilation finishes every time (for testing)
  --mjit-save-temps
                  Save JIT temporary files in $TMP or /tmp (for testing)
  --mjit-verbose=num
                  Print JIT logs of level num or less to stderr (default: 0)
  --mjit-max-cache=num
                  Max number of methods to be JIT-ed in a cache (default: 10000)
  --mjit-min-calls=num
                  Number of calls to trigger JIT (for testing, default: 10000)
YJIT options (experimental):
  --yjit-exec-mem-size=num
                  Size of executable memory block in MiB (default: 256)
  --yjit-call-threshold
                  Number of calls to trigger JIT (default: 10)
  --yjit-max-versions
                  Maximum number of versions per basic block (default: 4)
  --yjit-greedy-versioning
                  Greedy versioning mode (default: disabled)
Options (41)
OptionDescriptionSource
-0 octalspecify record separator (\0, if no argument)help
-aautosplit mode with -n or -p (splits $_ into $F)help
-ccheck syntax onlyhelp
-Cdirectorycd to directory before executing your scripthelp
-d, --debugset debugging flags (set $DEBUG to true)help
-e 'command'one line of script.help
-Eex, --encoding :inspecify the default external and internal character encodingshelp
-Fpatternsplit() pattern for autosplit (-a)help
-i extensionedit ARGV files in place (make backup if extension supplied)help
-Idirectoryspecify $LOAD_PATH directory (may be used more than once)help
-lenable line ending processinghelp
-nassume 'while gets();help
-passume loop like -n but print line also like sedhelp
-rlibraryrequire the library before executing your scripthelp
-senable some switch parsing for switches after script namehelp
-Slook for the script using PATH environment variablehelp
-vprint the version number, then turn on verbose modehelp
-wturn warnings on for your scripthelp
-W level=2|:categoryset warning level;help
-x directorystrip off text before #!ruby line and perhaps cd to directoryhelp
--jitenable JIT for the platform, same as --yjit (experimental)help
--mjitenable C compiler-based JIT compiler (experimental)help
--yjitenable in-process JIT compiler (experimental)help
--copyrightprint the copyrighthelp
--dump insns|parsetree|...dump debug information.help
--enable, --disable mjit|rubyopt|...enable or disable features.help
--external-encoding, --internal-encoding encodingspecify the default external or internal character encodinghelp
--backtrace-limit numlimit the maximum length of backtracehelp
--verboseturn on verbose mode and disable script from stdinhelp
--versionprint the version number, then exithelp
--helpshow this message, -h for short messagehelp
--mjit-debugEnable JIT debugging (very slow), or add cflags if specifiedhelp
--mjit-waitWait until JIT compilation finishes every time (for testing)help
--mjit-save-tempsSave JIT temporary files in $TMP or /tmp (for testing)help
--mjit-verbose numPrint JIT logs of level num or less to stderr (default: 0)help
--mjit-max-cache numMax number of methods to be JIT-ed in a cache (default: 10000)help
--mjit-min-calls numNumber of calls to trigger JIT (for testing, default: 10000)help
--yjit-exec-mem-size numSize of executable memory block in MiB (default: 256)help
--yjit-call-thresholdNumber of calls to trigger JIT (default: 10)help
--yjit-max-versionsMaximum number of versions per basic block (default: 4)help
--yjit-greedy-versioningGreedy versioning mode (default: disabled)help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.