Ruby 命令行选项
Ruby通常以以下方式从命令行运行-
ruby [options] [--] [programfile] [arguments]
可以使用以下任何选项来调用解释器,以控制解释器的环境和行为。
| 选项 |
说明 |
| -0[octal] |
指定记录分隔符(\0,如果没有参数) |
| -a |
-n或-p自动拆分模式(将$_拆分为$F) |
| -c |
仅检查语法 |
| -Cdirectory |
在执行脚本之前,先将其cd到目录 |
| -d, --debug |
设置调试标志(将$ DEBUG设置为true) |
| -e 'command' |
一行脚本。 允许使用-e。 省略[程序文件] |
| -Eex[:in], --encoding=ex[:in] |
指定默认的外部和内部字符编码 |
| -Fpattern |
split()模式用于自动拆分(-a) |
| -i[extension] |
在适当位置编辑ARGV文件(如果提供扩展名,请进行备份) |
| -Idirectory |
指定$LOAD_PATH目录(可以多次使用) |
| -l |
启用行结束处理 |
| -n |
假设'while gets(); ...结束脚本的循环 |
| -p |
假设像-n这样的循环,但打印行也像sed |
| -rlibrary |
在执行脚本之前需要库 |
| -s |
在脚本名称之后为交换机启用一些交换机解析 |
| -S |
使用PATH环境变量查找脚本 |
| -v |
打印版本号,然后打开详细模式 |
| -w |
为您的脚本打开警告 |
| -W[level=2|:category] |
设置警告级别; 0 =静音,1 =中,2 =详细 |
| -x[directory] |
在#!ruby行之前删除文本,也许将cd删除到目录 |
| --jit |
使用默认选项启用JIT(实验性) |
| --jit-[option] |
通过选项启用JIT(实验性) |
| --copyright |
打印版权 |
| --dump={insns|parsetree|...}[,...] |
转储调试信息。 请参阅下面的可用转储列表 |
| --enable={gems|rubyopt|...}[,...], --disable={gems|rubyopt|...}[,...] |
启用或禁用功能。 请参阅以下可用功能 |
| --external-encoding=encoding, --internal-encoding=encoding |
指定默认的外部或内部字符编码 |
| --verbose |
打开详细模式并从stdin禁用脚本 |
| --version |
打印版本号,然后退出 |
| --help |
显示此帮助信息,-h表示短消息 |
| 导出列表 |
| insns |
指令序列 |
| yydebug |
yacc解析器生成器的yydebug |
| parsetree |
AST |
| parsetree_with_comment |
AST与评论 |
| 特性 |
| gems |
rubygems(默认值:enable) |
| did_you_mean |
did_you_mean(默认值:enable) |
| rubyopt |
RUBYOPT环境变量(默认值:enable) |
| frozen-string-literal |
冻结所有字符串文字(默认值:disable) |
| jit |
JIT编译器(默认值:disable) |
| 警告类别 |
| deprecated |
弃用 |
| experimental |
实验性的 |
| JIT 选项 (实验性的): |
| --jit-warnings |
启用打印JIT警告 |
| --jit-debug |
启用JIT调试(非常慢),或者在指定的情况下添加cflags |
| --jit-wait |
等待直到每次JIT编译完成(用于测试) |
| --jit-save-temps |
以$TMP或/ TMP格式保存JIT临时文件(用于测试) |
| --jit-verbose=num |
将级别num或更少的JIT日志打印到stderr(默认:0) |
| --jit-max-cache=num |
缓存中被jit化的方法的最大数量(默认值:100) |
| --jit-min-calls=num |
触发JIT的调用数量(对于测试,默认为:10000) |
可以组合使用单个字符的命令行选项。以下两行表示相同的意思-
$ ruby -ne 'print if /Ruby/' /usr/share/bin
$ ruby -n -e 'print if /Ruby/' /usr/share/bin