Ruby通常以以下方式从命令行运行-
$ruby [ options ] [.] [ programfile ] [ arguments ... ]
可以使用以下任何选项来调用解释器,以控制解释器的环境和行为。
Sr.No. | Option & Remark |
---|---|
1 |
-a 与-n或-p一起使用以分割每行。检查-n和-p选项。 |
2 |
-c 仅检查语法,而不执行程序。 |
3 |
-C dir 在执行之前更改目录(等效于-X)。 |
4 |
-d 启用调试模式(等效于-debug)。 |
5 |
-F pat 将pat指定为split使用的默认分隔符模式($;)。 |
6 |
-e prog 从命令行指定prog作为程序。为多行程序指定多个-e选项。 |
7 |
-h 显示命令行选项的概述。 |
8 |
-i [ext] 用程序输出覆盖文件内容。原始文件以扩展名ext保存。 |
9 |
-I dir 将dir添加为加载库的目录。 |
10 |
-K [kcode] 指定多字节字符集代码(EUC表示EUC(扩展的Unix代码); SJIS表示S或S(Shift-JIS); UTF8表示u或U; ASCII表示a,A,n或N。 |
11 |
-l 启用自动行尾处理。从输入行中剪切换行符,并将换行符附加到输出行。 |
12 |
-n 将代码放在输入循环中(如while gets; ... end)。 |
13 |
-0 [八进制] 将默认记录分隔符($/)设置为八进制。如果未指定八进制,则默认为\0。 |
14 |
-p 将代码放在输入循环中。为每次迭代写入$_。 |
15 |
-r lib 使用require在执行之前将lib加载为库。 |
16 |
-s 解释程序名称和文件名参数之间的所有参数(将模式-xxx用作开关),并定义相应的变量。 |
17 |
-T [level] 设置污染检查的级别(如果未指定级别,则为1)。 |
18 |
-v 显示版本并启用详细模式。 |
19 |
-w 启用详细模式。如果未指定程序文件,则从STDIN读取。 |
20 |
-x [dir] 在#!ruby行之前删除文本。如果指定dir,则在执行之前将目录更改为dir。 |
21 |
-X dir 在执行之前更改目录(等同于-C)。 |
22 |
-y 启用解析器调试模式。 |
23 |
-copyright 显示版权声明。 |
24 |
-debug 启用调试模式(等效于-d)。 |
25 |
-help 显示命令行选项的概述(等同于h)。 |
26 |
-version 显示版本。 |
27 |
-verbose 启用详细模式(等效于-v)。将$VERBOSE设置为true。 |
28 |
-yydebug 启用解析器调试模式(等效于-y)。 |
可以组合使用单个字符的命令行选项。以下两行表示相同的意思-
$ruby -ne 'print if /Ruby/' /usr/share/bin $ruby -n -e 'print if /Ruby/' /usr/share/bin