# Ruby 命令行选项
Ruby 一般是从命令行运行,方式如下:
```
$ ruby [ options ] [.] [ programfile ] [ arguments ... ]
```
解释器可以通过下列选项被调用,来控制解释器的环境和行为。
| 选项 | 描述 |
| --- | --- |
| **-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 则默认为 \0。 |
| **-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)。 |
单字符的命令行选项可以组合使用。下面两行表达了同样的意思:
```
$ruby -ne 'print if /Ruby/' /usr/share/bin
$ruby -n -e 'print if /Ruby/' /usr/share/bin
```
- Ruby 基础
- Ruby 简介
- Ruby 环境
- Ruby 安装 - Unix
- Ruby 安装 - Windows
- Ruby 命令行选项
- Ruby 环境变量
- Ruby 语法
- Ruby 数据类型
- Ruby 类和对象
- Ruby 类案例
- Ruby 变量
- Ruby 运算符
- Ruby 注释
- Ruby 判断
- Ruby 循环
- Ruby 方法
- Ruby 块
- Ruby 模块(Module)
- Ruby 字符串(String)
- Ruby 数组(Array)
- Ruby 哈希(Hash)
- Ruby 日期 & 时间(Date & Time)
- Ruby 范围(Range)
- Ruby 迭代器
- Ruby 文件的输入与输出
- Ruby File 类和方法
- Ruby Dir 类和方法
- Ruby 异常
- Ruby 高级
- Ruby 面向对象
- Ruby 正则表达式
- Ruby 数据库访问 - DBI 教程
- Ruby CGI 编程
- Ruby CGI方法
- Ruby CGI Cookies
- Ruby CGI Sessions
- Ruby 发送邮件 - SMATP
- Ruby Socket 编程
- Ruby XML, XSLT 和 XPath 教程
- Ruby Web Services 应用 - SOAP4R
- Ruby 多线程
- 免责声明