# 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 多線程
- 免責聲明