Ruby命令行选项
配置了 Ruby 环境以后,我们就可以在命令行里输入 ruby
运行任何 Ruby 相关的动作了
Ruby 一般是以命令行的方式运行
$ ruby [ options ] [.] [ programfile ] [ arguments ... ]
Ruby 解释器可以通过下列选项被调用,来定制解释器的环境和行为
选项 | 描述 |
---|---|
-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] | 设置默认的记录分隔符($/)为八进制。默认值为 \0 |
-p | 把代码放置在一个输入循环中。在每次迭代后输出变量 $_ 的值 |
-r lib | 使用require来加载lib作为执行前的库 |
-s | 解读程序名称和文件名参数之间的匹配模式 -xxx 的任何参数作为开关,并定义相应的变量 |
-T [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) |
单字符的命令行选项可以组合使用
下面给两个命令表达的意思是一样的
$ ruby -ne 'print if /Ruby/' /usr/bin
$ ruby -n -e 'print if /Ruby/' /usr/bin