Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

Ruby command line options


May 12, 2021 Ruby


Table of contents


Ruby command line options

Ruby typically runs from the command line in the following way:

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

The interpreter can be called with the following options to control the interpreter's environment and behavior.

选项 描述
-a 与 -n 或 -p 一起使用时,可以打开自动拆分模式(auto split mode)。请查看 -n 和 -p 选项。
-c 只检查语法,不执行程序。
-C dir 在执行前改变目录(等价于 -X)。
-d 启用调试模式(等价于 -debug)。
-F pat 指定 pat 作为默认的分离模式($;)。
-e prog 指定 prog 作为程序在命令行中执行。可以指定多个 -e 选项,用来执行多个程序。
-h 显示命令行选项的一个概览。
-i [ ext] 把文件内容重写为程序输出。原始文件会被加上扩展名 ext 保存下来。如果未指定 ext,原始文件会被删除。
-I dir 添加 dir 作为加载库的目录。
-K [ kcode] 指定多字节字符集编码。e 或 E 对应 EUC(extended Unix code),s 或 S 对应 SJIS(Shift-JIS),u 或 U 对应 UTF-8,a、A、n 或 N 对应 ASCII。
-l 启用自动行尾处理。从输入行取消一个换行符,并向输出行追加一个换行符。
-n 把代码放置在一个输入循环中(就像在 while gets; ... end 中一样)。
-0[ octal] 设置默认的记录分隔符($/)为八进制。如果未指定 octal 则默认为 。
-p 把代码放置在一个输入循环中。在每次迭代后输出变量 $_ 的值。
-r lib 使用 require 来加载 lib 作为执行前的库。
-s 解读程序名称和文件名参数之间的匹配模式 -xxx 的任何参数作为开关,并定义相应的变量。
-T [level] 设置安全级别,执行不纯度测试(如果未指定 level,则默认值为 1)。
-v 显示版本,并启用冗余模式。
-w 启用冗余模式。如果未指定程序文件,则从 STDIN 读取。
-x [dir] 删除 #!ruby 行之前的文本。如果指定了 dir ,则把目录改变为 dir
-X dir 在执行前改变目录(等价于 -C)。
-y 启用解析器调试模式。
--copyright 显示版权声明。
--debug 启用调试模式(等价于 -d)。
--help 显示命令行选项的一个概览(等价于 -h)。
--version 显示版本。
--verbose 启用冗余模式(等价于 -v)。设置 $VERBOSE 为 true。
--yydebug 启用解析器调试模式(等价于 -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